javascript - 循环 json 时更改 key

标签 javascript arrays json for-loop

使用外部变量循环对象时是否可以更改键。想象一下:

var data = [{
    "id": 1,
    "name": "Simon",
    "age": 13
}, {
    "id": 2,
    "name": "Helga",
    "age": 18
}, {
    "id": 3,
    "name": "Tom",
    "age": 27
}, ]

var key = name;

for (var i = 0; i < data.length; i++) {
    var output = data[i].key;
}

但这当然会导致未定义的输出。目标是构建一个可以处理不同循环的函数。

最佳答案

您可以像访问数组一样访问 JavaScript 中的对象。这是您正在寻找的代码。

var data = [{
    "id": 1,
    "name": "Simon",
    "age": 13
}, {
    "id": 2,
    "name": "Helga",
    "age": 18
}, {
    "id": 3,
    "name": "Tom",
    "age": 27
}, ]

var key = "name";

for (var i = 0; i < data.length; i++) {
    var output = data[i][key];
}

引用其他答案(似乎已被删除),我不建议使用 foreach,因为 Internet Explorer 8 不支持它。

但是,您可以使用:

var key = "name";

for (var i in data) {
  if(data.hasOwnProperty(i))
  {
    var output = data[i][key];
  }
}

关于javascript - 循环 json 时更改 key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30143102/

相关文章:

javascript - 使用 R 读取动态 HTML 元素

c - gdb 无法打印数组的内容

javascript - 从数独表 HTML 表生成数字数组

java - 使用 Gson 反序列化 JSON

即使使用缩放值,Javascript 金融浮点也会出现错误

javascript - Tumblr:创建自定义主页

javascript - 对象作为来自 MongoDB 的 React 子数据无效

mysql - 使用MySql解码列内的json数据

javascript - 如何通过内置的 Ajax 框架使用 October CMS 为 Select2 提供数据源

java - 每当访问数组成员时抛出 NullPointerException