使用外部变量循环对象时是否可以更改键。想象一下:
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/