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 :(得分: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'
}
}
]
}
我还删除了最外面的括号,因为从你的问题看来你的意图是在一个对象中有一个数组,而不是一个数组数组。
使用上面的对象,您的迭代代码将正常工作。