如何使用Javascript向数组的每一行添加字段?

如何使用Javascript向数组的每一行添加字段?,javascript,arrays,Javascript,Arrays,我有一个javascript变量: var x = {"ab":"x", "cd":"y", "de":"z", "answers":[ {"answerId":222,"answerUId":1,"text":"x"}, {"answerId":223,"answerUId":2,"text":"A"}, {"answerId":224,"answerUId":3,"text":"A"} ] } 如何向名为response的answers数组的每个元素添加一

我有一个javascript变量:

var x = 
{"ab":"x",
 "cd":"y",
 "de":"z",
 "answers":[
    {"answerId":222,"answerUId":1,"text":"x"},
    {"answerId":223,"answerUId":2,"text":"A"},
    {"answerId":224,"answerUId":3,"text":"A"}
 ]
}

如何向名为response的answers数组的每个元素添加一个值为null的字段?

您可以向对象添加新属性,如下所示

x["answers"].forEach(function(currentObject) {
    currentObject["response"] = null;
});

这将遍历每个对象,并向每个对象添加
响应
属性。

您可以向对象添加新属性,如下所示

x["answers"].forEach(function(currentObject) {
    currentObject["response"] = null;
});
这将遍历每个对象,并向每个对象添加
response
属性。

纯javascript:

for (key in x['answers']) {
    x['answers'][key]['response'] = null;
}
纯javascript:

for (key in x['answers']) {
    x['answers'][key]['response'] = null;
}

for..in
迭代数组是错误的。@thefourtheye您能解释一下原因吗?只需检查@thefourtheye中的框项目-框项目中的注意事项建议不要只使用
for..in
中的“索引顺序很重要”。我看不出索引顺序在这里很重要。在
中用
for..迭代数组是不好的。@thefourtheye你能解释一下原因吗?只需检查@thefourtheye中的框项目-框项目中的警告建议不要只在
中使用
for..就可以了。我不认为索引顺序在这里很重要javascript@Otanaught它只需要一个支持ECMAScript 5.1的浏览器:哦,我明白了,刚才选中了。注意浏览器向后兼容性。forEach是本机的javascript@Otanaught它只需要一个支持ECMAScript 5.1的浏览器:哦,我明白了,刚才选中了。注意浏览器向后兼容性。