好吧我确实声明了这个文字数组,如下面的firebug屏幕截图所示
现在我尝试使用jquery.each();
这是我的代码
$.each(window.feeditems,function(key,val){
alert('pass OK');
console.log('index:' + key + ', ' + 'value:' + val);
});
console.log('overview:' + window.feeditems);
console.log('length:' + window.feeditems.length);
好的,所以使用上面的代码,$.each
回调内的TODO没有按预期执行length
是undefined
,当它打印在控制台上时。
在一个非常奇怪的情况下,因为我在萤火虫中打印了window.feeditems
,它显示了我的文字数组,就像上面屏幕截图中显示的一样。
现在我的问题是我如何遍历这种阵列?我知道jquery.each()
依赖于数组的length
属性,我也想到使用for循环,但我怎么能循环而不知道它的大小?
更新1
我再次检查长度并将其传送到某个地方,它返回长度为零,但是将它与下一行的内容检查器代码放在一起,它仍然包含数组的内容。
更新2
任何可能的解决方法,以便我可以在运行时遍历此数组而无需在代码中手动访问节点?例如使用for循环?
答案 0 :(得分:3)
数组只接受数字索引。您似乎正在定义字符串键,它不会计入.length
的一部分或显示在.each()
中。
不要使用[]
开始定义,而是使用{}
来允许字符串键。但请注意,您仍然无法使用.length
。
答案 1 :(得分:0)