何らかの理由でJSONオブジェクトを配列 "list"にプッシュすることができますが、その.lengthを呼び出すと、アイテム数ではなく文字数を取得しているようです。なぜarray.lengthはそのような高い数値を返しますか?
更新:解答を参照してください。私のスクリプトは文字のを返さず、指数関数的にループしていました。
$.getJSON('[omitted].php?callback=?',function(d,item){
var list = []
alert('Length: '+d.length) // d consists of 271 JSON objects, d.length = 271
for (i=0;i<d.length;i++){
$.each(d,function(){ // for each JSON object we add...
list.push({'name':this.name,'href':this.href,'img':this.img})
})
if (i==d.length){
alert('Completed - Length: '+list.length) // list.length = 44711. Why?
}
}
})
私は警告使用することに注意してください(リスト)私は以下を参照してください
[object,Object][object,Object][object,Object] ...
よりもむしろ配列:
[[object,Object][object,Object][object,Object] ... ]
[jsFiddle](http://jsfiddle.net)、どうぞ。 (配列として表示されないので、暗黙的な結合文字は '、'です。大括弧は追加されません) – Ryan