对于 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
中生成结果。但是,我收到错误无法读取未定义的属性“长度”
。
如何更改上面的代码来执行此操作?
最佳答案
您的对象应该对数组使用括号:
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'
}
}
]
}
我还删除了最外面的括号,因为从您的问题来看,您的意图是在对象内拥有单个数组,而不是数组的数组。
使用上面的对象,您的迭代代码将正常工作。
关于javascript - 如何在 JavaScript 对象中循环数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23331770/