Вы можете увидеть рабочий пример здесь:Почему объекты javascript выводятся как «undefined» при переходе через массив?
http://jsfiddle.net/bwhitney/ZDHp4/1/
Я пытаюсь создать массив объектов в JavaScript. Когда я пытаюсь получить доступ к объектам, я получаю вывод «undefined». Вот некоторые примеры кода:
var dates = [];
var beginDate1 = new Date("01/01/01");
var endDate1 = new Date("02/02/02");
var beginDate2 = new Date("03/03/03");
var endDate2 = new Date("04/04/04");
// this outputs the correct dates
alert("before: " + beginDate1 + "--" + endDate1);
alert("before: " + beginDate2 + "--" + endDate2);
dates.push({
"beginDate": beginDate1,
"endDate": endDate1
}, {
"beginDate": beginDate2,
"endDate": endDate2
});
var date;
for (date in dates) {
// this outputs "date: undefined--undefined"
// why would that be?
alert("after: " + date.beginDate + "--" + date.endDate);
}
я вижу. Поэтому цикл for с использованием индекса массива - вот что я действительно хочу здесь. Спасибо за отзыв о возрастающем числовом порядке. –