如何在JavaScript对象中循环数组?

时间:2014-04-28 02:51:23

标签: javascript jquery arrays json

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);
}

上面的代码应该在控制台name1name2中生成结果。但是,我收到Cannot read property 'length' of undefined的错误。

如何更改上面的代码才能执行此操作?

1 个答案:

答案 0 :(得分: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'
        }
    }
    ]
}

我还删除了最外面的括号,因为从你的问题看来你的意图是在一个对象中有一个数组,而不是一个数组数组。

使用上面的对象,您的迭代代码将正常工作。