我有一个对象数组 arr,我想将数组中的所有对象合并为一个。对象中还存在重复的键。我有办法做到这一点吗?任何帮助都会很棒。
var arr = [{ a: 1, a: 2 },
{ c: 1, d: 2 },
{ e: 14, f: 20 }];
我想要的输出是:
var arr = [{ a: 1,
a1: 2,
c: 1,
d: 2,
e: 14,
f: 20 }];
最佳答案
假设所有键都是唯一的并且您不想检查,请使用reduce
var combinedKeys = arr.reduce(function(a, item) {
Object.keys(item).map(function(key) {
a[key] = item[key];
});
return a;
}, {});
var singleArrayOfCombinedKeys = [combinedKeys]; //[Object a: 1b: 2c: 1d: 2e: 14f: 20__proto__: Object]
关于javascript - 将数组中的所有对象合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38249181/