2011-06-08 79 views
7

我有一个内部有两个对象的关联数组。通过运行$(myassoc).each(),回调只运行一次。此外,回调参数(索引和对象)分别返回0和整个关联数组。jQuery.each()如何与关联数组(对象)一起工作?

可以预期jQuery.each()为数组中的每个元素运行,返回正确的键作为索引和正确的元素作为对象。

为什么没有这种情况发生,jQuery可以做我以后的事情?

+0

请问您能显示代码吗? '$(obj).each()'可以正常工作 – 2011-06-08 08:39:41

+1

你有没有试过'$ .each(myassoc,func ...'? – 2011-06-08 08:40:55

+0

如果你只有两个对象(数组的2个键),所以只会有两个如果你想'each'这两个对象,你必须为它们再次'.each' – 2011-06-08 08:41:26

回答

16

我认为你正在寻找jQuery.each()代替。每()

试试这个:

$.each(myassoc, function(index, value){ 
     //your code 
    }); 
7

试试这个:

$.each(assocarray,function(i, value){ 
    console.log('index: ' + i + ',value: ' + value); 
}); 
1

的问题是$.each()内部功能检索并使用传递集合的length属性。但是在一个没有整数索引的关联数组length似乎总是0。对于$.each()现在似乎没有什么可以通过。

$.each()内部函数获取并使用通过收集的length 财产。

解决方案只是简单地使用对象。

var myassoc = {};