Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在json中循环时更改密钥_Javascript_Arrays_Json_For Loop - Fatal编程技术网

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()检查?看起来您不会,尽管添加它可能是一个很好的做法。