-2

我有一个对象数组

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

var eventArray = [event1Array, event2Array];

我想使用像这样的警报仅使用两个循环(内部和外部)循环

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

但是我的活动信息不断打印两次

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

它们不是数组。实际上是event1Array,所以你不想遍历它们。你应该只循环通过.event2ArrayObjectseventArray

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 回答