0

我正在尝试使用下面的代码,它通过在第二个 each() 中向本田、丰田和福特发出警报,按照我想要的方式工作。但是第一个只输出 0。为什么要这样做?

var cars = {
        honda : {0: "Accord", 1: "Prelude", 2: "Civic"},
        toyota: {0: "Camry", 1: "Corolla", 2: "BRZ"},
        ford: {0: "Mustang", 1: "Focus"}
}

$(cars).each(function(key, value)) {
    alert(key);
})

$.each(cars, function(key, value) {
    alert(key);
})
4

2 回答 2

0

您的第一个示例输出 0 因为当您这样做时$(cars),您将cars对象包装在一个 jQuery 对象中,该对象具有一个索引为 0 的元素。

您还应该注意两种“每个”方法之间的区别:

jQuery.each()$.each()

通用迭代器函数,可用于无缝迭代对象和数组。

.each()

遍历一个 jQuery 对象,为每个匹配的元素执行一个函数。

于 2013-10-06T20:01:02.697 回答
-1

试试这个,循环遍历一个数组:

for (i=0; i<cars.length; i++){
    alert (cars[i]);
} 
于 2013-10-06T19:47:53.510 回答