-2

私はオブジェクトの配列を持っています

var event1Array {
    name: wedding;
    time: ["10:00am", "12:00pm"];
}
var event2Array {
    name: housewarming;
    time: ["7:00pm", "9:00pm"]
}

var eventArray = [event1Array, event2Array];

このようなアラートを使用して、2 つのループ (内側と外側) だけを使用してループスルーしたい

alert("attend a " + eventArray.name + " starting " + theEvent.time) 

しかし、私のイベント情報は次のように2回印刷され続けます

attend a wedding starting 10am, 
attend a wedding starting 12pm
attend a housewarming starting 7pm
attend a housewarming starting 9pm

ここに完全なコードがあります

var event1Array 
{ 
    name: wedding; 
    time: ["10:00am", "12:00pm"]; 
}

var event2Array 
{ 
    name: housewarming; 
    time: ["7:00pm", "9:00pm"]; 
} 

var div = document.getElementById("events"); 
var eventArray = [event1Array, event2Array]; 

for (var i = 0; i < eventArray.length; i++) 
{
    var theEvent = eventArray[i];
    for (j = 0; j < theEvent.time.length; j++)
    { 
        console.log("Attending a wedding" + theEvent.name + "starting" + theEvent.time[j]); 
    }
}
4

2 に答える 2

4

それらは配列ではありません。event1Arrayevent2Arrayは実際にObjectsは であるため、それらをループしたくありません。のみをループする必要がありeventArrayます。

for (var i = 0,  len = eventArray.length; i < len; i++) {
    alert("attend a " + eventArray[i].name + " starting " + eventArray[i].time[0]);
}

これが動作するjsfiddleです...

于 2013-07-29T12:46:30.430 に答える
0

これを試して

alert("attend a " + eventArray.name + " starting " + theEvent.time[0]) 
于 2013-07-29T12:51:56.403 に答える