我有以下对象:
var objectVar = {
4 : { "key" : "key-name4", "item4" : {} },
3 : { "key" : "key-name3", "item3" : {} }
}
然后我尝试以下方法:
$(objectVar).each(function(index,record){
console.log(record); // Loops Only Once and Logs Full Object
});
谁能帮我为什么$。每();函数通过主对象内的子对象进行迭代?
任何帮助,将不胜感激!正确
$.each(objectVar, function(index, record) {
console.log(record);
});
谢谢你的好解释!我知道它在OP的范围之外,但是你知道是否有办法让每个()函数按照编号键的顺序解析,而不是记录出现在对象内部的顺序吗? – dSquared
@dSquared:不,实际上没有办法用对象来做到这一点。唯一的方法是定义一个描述所需顺序的数组,然后迭代数组,并从对象中获取相关项目。因此,如果你的对象有键'7,3,9,4',你可以创建一个数组'arr = [3,4,7,9]'来定义顺序,然后迭代该数组,并执行'objectVar [arr [i]]。但是那会变得有点复杂。 – user113716
...为了获得数字键的顺序排序,您应该首先使用数组。 – user113716