配列にはfor in は使えない。  配列は素直に for 連想配列には for in

info['xxxx'][0]
info['xxxx'][1]....

っていう構造のデータをfor in で走査して計算などをしていた。

		for(var key in info)
		{
			var total = 0;
			for(var child_key in info[key])
			{
				total += info[key][child_key];
			}
			
		}

いままで問題なかったが、 prototype.jsを使った瞬間、info[key][child_key]にいろいろfunctionが追加されてて、ちゃんと走査できなくなった。

どうやらfor in で配列を回すと、プロパティーも取得してしまうみたいだ。

配列の走査にはおとなしく

for (var i = 0; i < info[key].length; i ++)

のほうがよさそう。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-01-19 (火) 13:02:11 (3439d)