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

标签 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 中生成结果。但是,我收到错误无法读取未定义的属性“长度”

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

最佳答案

您的对象应该对数组使用括号:

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/

相关文章:

jQuery 投资组合切换搞乱位置

javascript - WordPress 在 jquery 中发布 while 循环

java - 通过读取文件创建对象,该对象也具有动态数组作为其字段

javascript - 如何修复此 "if"语句

javascript - Meteor - 在一段时间内(按日期)解锁模板

javascript - 通过忽略值来更新索引数据库中的对象

jQuery:表单操作的切换按钮问题

arrays - 在JSON模式中将数组定义为非空

arrays - 在 Julia 中将 CartesianIndex 数组转换为 2D 矩阵

javascript - 使用 d3.js 根据 geojson 对象中的属性创建表