jquery每个都不迭代对象

时间:2014-03-05 18:59:58

标签: javascript jquery

我目前正在做以下事情。我迷失了为什么这个简单的功能不起作用。我正在动态构建一个对象,然后我想迭代它。我已经检查过,对象中确实有内容。

newChecked =[];

$.each(checked, function(index, value) {
newChecked[value.app]=value.admin;
});

$.each(newChecked, function(index, value) {
    //do some stuff here while iterating
});

我已将调试行放在第二个.each内,并且不会返回它们。它完全忽略了第二个.each

2 个答案:

答案 0 :(得分:1)

我认为你误解了数组的使用。如果需要关联数组/映射,请使用普通对象而不是数组。

var newChecked = {};

$.each(checked, function(index, value) {
    newChecked[value.app] = value.admin;
});

$.each(newChecked, function (k, v) {
    console.log(v);
});

答案 1 :(得分:0)

您已定义newChecked数组,因此请确保value.app的类型为数字

  

例如:if checked = checked = [{app:0,“admin”:“cba”},{app:1,“admin”:“fed”}]

     

比newChecked将:[“cba”,“fed”]

     

如果选中= [{app:0,“admin”:“cba”},{app:2,“admin”:“fed”}],

     

然后undefined将被添加到数组newChecked的索引2中:

     

[“cba”,undefined,“fed”]