假设我有这个JSON。
[{ "a" : "1" , "b" : "2"},{ "a" : "2" , "b" : "2"}, { "a" : "3" , "b" : "3"}]
我想要这个
[{ "a" : "1" , "b" : "1" , "c" : "asd"},{ "a" : "2" , "b" : "2", "c" : "asd"}, { "a" : "3" , "b" : "3" , "c" : "asd"}]
如何通过javascript在每个数组上添加“c”? 我尝试使用arr.push({“c”:“asd”})但结果是
[{ "a" : "1" , "b" : "2"},{ "a" : "2" , "b" : "2"}, { "a" : "3" , "b" : "3"},{"c" : "asd"}]
感谢。
答案 0 :(得分:0)
arr.push
只是附加到数组的末尾。你想要做的是为数组中的每个元素添加一个新的映射。
因此,您需要迭代数组并添加映射。
let objarr = [{ "a" : "1" , "b" : "2"},{ "a" : "2" , "b" : "2"}, { "a" : "3" , "b" : "3"}];
for (var i = 0; i < objarr.length; i += 1) {
objarr[i]["c"] = "asd";
}
在上面的示例中,我们迭代数组中的每个对象,将c
映射到asd
。请注意,如果存在现有的c
映射,则会使用asd
覆盖它。
您也可以使用for-each循环来实现相同的效果,而不是使用常规for循环。
我希望这会有所帮助。