Javascript 在json中循环时更改密钥
在使用外部变量循环对象时是否可以更改键。想象一下:Javascript 在json中循环时更改密钥,javascript,arrays,json,for-loop,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;
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;
}
var数据=[{
“id”:1,
“姓名”:“西蒙”,
“年龄”:13岁
}, {
“id”:2,
“名称”:“赫尔加”,
“年龄”:18岁
}, {
“id”:3,
“姓名”:“汤姆”,
“年龄”:27
}, ]
var key=name;
对于(变量i=0;i
当然,这最终会得到一个未定义的输出。目标是构建一个可以处理不同循环的函数。您可以像访问数组一样访问JavaScript中的对象。这是您要查找的代码
var数据=[{
“id”:1,
“姓名”:“西蒙”,
“年龄”:13岁
}, {
“id”:2,
“名称”:“赫尔加”,
“年龄”:18岁
}, {
“id”:3,
“姓名”:“汤姆”,
“年龄”:27
}, ]
var key=“name”;
对于(变量i=0;i }
我相信您需要这样的函数:
function handleKey(objectArray, key) {
for (var index in objectArray) {
//do something with objectArray[index][key]
}
}
像这样调用此函数:handleKey(数据,“名称”)
该函数处理对象数组的关键属性。您可以根据需要进一步定制,我决定简短一点以保持简单。使用括号表示法:
data[I][key]
解决问题后,不要忘记选择答案!如果问题尚未解决,请更新您的问题!回答得好。但是,我想知道,对于JSON中的对象,是否需要进行hasOwnProperty()检查?看起来您不会,尽管添加它可能是一个很好的做法。