ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

JavaScriptでJsonのリストをループしようとしてうまくいかなかったのでメモ

スポンサードリンク

http://www.flickr.com/photos/42182644@N00/4704268314
photo by Oльга + Haфaн


別にJsonじゃなくてもいいんだけどね。




受け取ったJsonをlengthで数えて、ループさせようとしたんだけど、うまくいかなかった。


で、結果は答えが見つかったのでメモします。

// response は jsonで、{"test" : [{test:value}, {test2:value},・・・]}みたいな形をしている。
var childResponse = response.commentList;

// これは動かない
for (var i; i < childResponse.length; i++ {
	console.log(i + ':' + childResponse[i].id);
}

// なぜかこうでないと動かない
for (var i in childResponse) {
	console.log(i + ':' + childResponse[i].id);
}


あんましJavaScript詳しくないからあれだけど、今度から for in の形式は積極的に使おうかな。


ただ、Pythonとかと違い、JavaScriptの配列はいろいろ値が入っている場合があるので、その辺注意かな。※これもハマったきが。。。


あと、動かない書き方は、ループで条件を確認するたびに、関数の呼び出しを行うので、処理負荷的によくない。変数を用意する行を増やすのをためらう人もいるが、これは変数に値を入れたほうがいいですよ。