ホーム  >  TECHNICALSKILLBLOG  >  

JS

身も蓋もないjavascriptの配列のお話

JS | witten by yama

先日Javasciptはプロトタイプベースの言語である事を失念して恥ずかしい思いをしました。
同じミスをしないようにメモしておきます。

---------------------------------------------
var o = {huga: 'huga', moge: 'moge'};
for (var i=0; i<o.length; i++) {
  alert(o[i]);
}

---------------------------------------------

あれ?動かない・・・っていうので10分ほど思考停止。


PHPばっかり書いていて、そちらの連想配列に慣れてしまうとたまに意味が分からないことをしてしまいます。

PHPとjavascriptの連想配列は全く違うんですよね。

javascriptはすべてオブジェクトです。
つまりjavascriptの配列は'連想配列'の特殊なパターンのわけです。

だから、'.length'使いたかったらこう書かないといけませんよね。。

---------------------------------------------

var o = {0: 'huga', 1: 'moge', 2: 'hage', length: 3}
o.__proto__ = Array.prototype;

---------------------------------------------


でもこんなの何の意味がないのは見れば当然...わざわざlengthに自分で数を入れるなんて、無意味もいいところなので。

素直に

---------------------------------------------

for(var i in o){
  alert(o[i]);
}

---------------------------------------------

で、解決しました。

2010

03/04

18:06

カテゴリー

月別アーカイブ

TECHNICAL SKILL BLOG

2011/11/12
PROGRAM

CMSを導入する際に検討すべきポイント 

エムハンドでは、ウェブログ(ブログ)システムをCMSとして利...

2011/09/01
DESIGN

PSD→JPEG一括変換

PSDからJPEGに一括変換する方法を3種類ご紹介します。 ...

2011/08/20
OTHERS

スタッフ募集中 【WEBデザイナー&ディレクター】

【募集職種】 Webデザイナー &ディレクター━━━━━━━...

ホームページ制作のお問い合わせ

PAGE TOP

〒142-0051 東京都 品川区平塚2-6-13 スバルビル7F
電話:03-5751-4240
FAX:03-5751-7685

〒553-0004 大阪市福島区玉川2-8-4 阪神玉川オフィスビル6階
電話:06-6449-6155
FAX:06-6449-5045

〒605-0992 京都市東山区下堀詰町246 テイブンビル2階
電話:075-533-6316
FAX:075-533-6317

(C)2009 M-hand Corporation.  All Rights Reserved.