【发布时间】:2012-04-26 20:16:57
【问题描述】:
出于某种原因,我可以将 JSON 对象推送到我的数组“列表”,但是当我调用它的 .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?
}
}
})
请注意,当我使用 alert(list) 时,我看到:
[object,Object][object,Object][object,Object] ...
而不是数组:
[[object,Object][object,Object][object,Object] ... ]
【问题讨论】:
-
jsFiddle,好吗? (至于不显示为数组,隐式连接字符为
,,不加括号。)
标签: javascript jquery arrays string