我目前正在做以下事情。我迷失了为什么这个简单的功能不起作用。我正在动态构建一个对象,然后我想迭代它。我已经检查过,对象中确实有内容。
newChecked =[];
$.each(checked, function(index, value) {
newChecked[value.app]=value.admin;
});
$.each(newChecked, function(index, value) {
//do some stuff here while iterating
});
我已将调试行放在第二个.each
内,并且不会返回它们。它完全忽略了第二个.each
答案 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”]