0

以下のコードを使用しようとしていますが、2 番目の 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 を出力します。これは、オブジェクトを jQuery オブジェクト (インデックス 0 の 1 つの要素を持つオブジェクト) で$(cars)ラップしているためです。cars

また、両方の「各」メソッドの違いに注意する必要があります。

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 に答える