jQuery each()给出了两个嵌套对象的不同结果

时间:2013-10-06 19:36:25

标签: jquery each javascript-objects

我正在尝试使用下面的代码,它通过在第二个()中使用honda,toyota和ford进行警报来按照我想要的方式工作。但是第一个只输出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);
})

2 个答案:

答案 0 :(得分:0)

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

另外你应该注意两种“每种”方法之间的区别:

jQuery.each() $。each()

  

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

<强> .each()

  

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

答案 1 :(得分:-1)

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

for (i=0; i<cars.length; i++){
    alert (cars[i]);
}