Как зациклить массив в объекте JavaScript?

0

Очень новичок в 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.

Как я могу изменить свой код выше, чтобы сделать это?

  • 0
    Ваш json не действителен ... jsonlint.com
  • 1
    @superUntitled Это недействительно, но это также не JSON. JSHint или JSLint будут более подходящими предложениями.
Теги:
arrays

1 ответ

3
Лучший ответ

Ваш объект должен использовать скобки для массива:

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'
        }
    }
    ]
}

Я также удалил самые внешние скобки, так как из вашего вопроса будет видно, что ваше намерение состояло в том, чтобы иметь единственный массив внутри объекта, а не массив массивов.

С вышеуказанным объектом ваш итерационный код будет работать нормально.

  • 0
    Огромная помощь, спасибо за разъяснения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню