JavaScript - 获取非预定义键的值

标签 javascript angularjs arrays

我有一个对象数组,我正在尝试获取它的值,尽管里面的变量没有预定义。问题是我不知道该怎么做。

数组:

Array[3]: [
    {
        id: "1",
        name: "name1",
        lastname: "lastname1"
    },
    {
        id: "2",
        name: "name2",
        lastname: "lastname2"
    },
    {
        id: "3",
        name: "name3",
        lastname: "lastname3"
    }
]

Javascript:

this.myFunction = function(response) {
    var iLength = response.data.length;

    for(var i=0;i<iLength;i++) {
        var jLength = Object.keys(response.data[i]).length;

        for(var j=0;j<jLength;j++) {
            // ???
        }
    }
}

因此,不要以这种方式访问​​值,

response.data[i].id
response.data[i].name
response.data[i].lastname

我宁愿以这种方式访问​​它:

response.data[i]."somethingSomething[j]";

这可能吗?我对 AngularJS 相当陌生,所以我可能没有以正确的方式处理这个问题。任何帮助将不胜感激。

编辑:我已经更好地阐述了我的问题。

最佳答案

您可以迭代键。

for (var i = 0; i < iLength; i++) {
    var keys = Object.keys(response.data[i]);

    for (var j = 0; j < keys.length; j++) {
        console.log(response.data[i][keys[j]]);
    }
}

但是如果您提前知道键,则可以使用带有键的数组并在迭代时保持稳定的顺序。

var keys = ['id', 'name', 'lastname'];
for (var i = 0; i < iLength; i++) {
    for (var j = 0; j < keys.length; j++) {
        console.log(response.data[i][keys[j]]);
    }
}

关于JavaScript - 获取非预定义键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41161330/

相关文章:

javascript - 设置秒和毫秒定时器

javascript - highcharts 的标注 CSS 实现不起作用

html - AngularJS - 使用指令嵌入 Youtube 视频 url 时出现问题

javascript - ngRoute 和 Underscore.js 的 RequireJS shim 配置

java - 数组越界。如何阻止负面情绪

ruby - 根据元素的索引连接数组元素

javascript - 使用 Polymer 1.0 向用户提供操作反馈的最佳方式

javascript - 无法检索在 servlet 中设置的值

javascript - AngularJS 自定义 $http 服务,具有自动重试功能

Javascript 迭代嵌套循环并返回特定值