Jquery.each()无法遍历文字数组

时间:2012-08-27 16:35:15

标签: javascript jquery arrays

好吧我确实声明了这个文字数组,如下面的firebug屏幕截图所示

enter image description here

现在我尝试使用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没有按预期执行lengthundefined,当它打印在控制台上时。

在一个非常奇怪的情况下,因为我在萤火虫中打印了window.feeditems,它显示了我的文字数组,就像上面屏幕截图中显示的一样。

现在我的问题是我如何遍历这种阵列?我知道jquery.each()依赖于数组的length属性,我也想到使用for循环,但我怎么能循环而不知道它的大小?

更新1

我再次检查长度并将其传送到某个地方,它返回长度为零,但是将它与下一行的内容检查器代码放在一起,它仍然包含数组的内容。

更新2

任何可能的解决方法,以便我可以在运行时遍历此数组而无需在代码中手动访问节点?例如使用for循环?

2 个答案:

答案 0 :(得分:3)

数组只接受数字索引。您似乎正在定义字符串键,它不会计入.length的一部分或显示在.each()中。

不要使用[]开始定义,而是使用{}来允许字符串键。但请注意,您仍然无法使用.length

答案 1 :(得分:0)