2007.02.10
■[Javascript]連想配列の罠
var a = new Array(); a["hogehoge"] = true;
Arrayオブジェクトはこんな風に「連想配列」として使える、とよく紹介されていますが、
for (var i = 0; i < a.length; i++)
ループを回して要素にアクセスしようとすると、a.lengthがゼロを返すのでループが実行されません。
つまり、連想配列のキーとして渡した文字列は、Arrayオブジェクトのプロパティとして扱われるだけなのです。
正しくは、
for (var i in a)
トラックバック - http://d.hatena.ne.jp/drwatson/20070210/1171110212
リンク元
- 104 http://d.hatena.ne.jp/solipt/
- 36 http://d.hatena.ne.jp/solipt/20070210/1171115625
- 20 http://d.hatena.ne.jp/solipt/?of=2
- 9 http://d.hatena.ne.jp/solipt/?of=4
- 6 http://drwatson.nobody.jp/
- 5 http://d.hatena.ne.jp/solipt/20070210
- 4 http://d.hatena.ne.jp/keyworddiary/W-ZERO3?date=20070210
- 4 http://d.hatena.ne.jp/keyworddiary/W-ZERO3
- 3 http://d.hatena.ne.jp/solipt/searchdiary?word=*[(Tool)デバイス関係]
- 3 http://d.hatena.ne.jp/solipt/searchdiary?word=wtClavier&.submit=日記の検索&type=detail