Очень новичок в JavaScript-объектах, поэтому я не уверен, как это сделать.
В моем объекте у меня есть массив с именем myArray
. Я пытаюсь перевернуть его, чтобы распечатать все на странице. Обычно в объекте есть намного больше данных, но для этого примера он был удален.
Это моя цель:
var data = [
{
myArray:
{
name: 'name1',
code: 'code1',
data: {
date: '20-Apr-2014',
signal: 'signal1'
}
},
{
name: 'name2',
code: 'code2',
data: {
date: '21-Apr-2014',
signal: 'signal2'
}
}
}
]
Это мой итерационный код:
var arrayLength = data.myArray.length - 1;
for (var i = 0; i <= arrayLength; i++) {
var name = data.myArray[i].name;
console.log(name);
}
Мой код выше должен производить результаты в консоли name1
и name2
. Тем не менее, я получаю сообщение об ошибке " Cannot read property 'length' of undefined
.
Как я могу изменить свой код выше, чтобы сделать это?
Ваш объект должен использовать скобки для массива:
var data = {
myArray: [
{
name: 'name1',
code: 'code1',
data: {
date: '20-Apr-2014',
signal: 'signal1'
}
},
{
name: 'name2',
code: 'code2',
data: {
date: '21-Apr-2014',
signal: 'signal2'
}
}
]
}
Я также удалил самые внешние скобки, так как из вашего вопроса будет видно, что ваше намерение состояло в том, чтобы иметь единственный массив внутри объекта, а не массив массивов.
С вышеуказанным объектом ваш итерационный код будет работать нормально.