0

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

在此处输入图像描述

现在我试图通过使用来遍历它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);

好的,所以使用上面的代码,回调中的 TODO$.each没有按预期执行,lengthundefined它在控制台上打印它时。

好吧,在一个非常奇怪的情况下,当我window.feeditems在萤火虫中打印它时,它会完全像上面屏幕截图中显示的那样显示我的文字数组。

现在我的问题是如何遍历这种数组?我知道jquery.each()依赖于length数组的属性,我也在考虑使用 for 循环,但我如何在不知道它的大小的情况下循环?

更新 1

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

更新 2

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

4

2 回答 2

3

数组只接受数字索引。您似乎正在定义字符串键,这不会算作.lengthor 的一部分出现在 a 中.each()

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

于 2012-08-27T16:48:31.190 回答
0

使用 JavaScriptFor...In语句

http://www.w3schools.com/js/js_loop_for_in.asp

http://www.w3schools.com/js/tryit.asp?filename=tryjs_object_for_in

于 2012-08-29T07:00:30.720 回答