Javascript 将同一数组中的多个对象合并为一个对象

Javascript 将同一数组中的多个对象合并为一个对象,javascript,arrays,object,Javascript,Arrays,Object,如何将其合并到一个obj中 var arrObj = [{a:1, b:2},{c:3, d:4},{e:5, f:6}]; 如果您的环境支持,那么您可以这样简洁地执行相同的操作 const arrObj=[{a:1,b:2},{c:3,d:4},{e:5,f:6}]; console.log(arrObj.reduce)(函数(结果,当前){ 返回Object.assign(结果,当前); }, {})); //如果您更喜欢箭头函数,可以将其设置为一行;-) log(arrObj.redu

如何将其合并到一个obj中

var arrObj = [{a:1, b:2},{c:3, d:4},{e:5, f:6}];

如果您的环境支持,那么您可以这样简洁地执行相同的操作

const arrObj=[{a:1,b:2},{c:3,d:4},{e:5,f:6}];
console.log(arrObj.reduce)(函数(结果,当前){
返回Object.assign(结果,当前);
}, {}));
//如果您更喜欢箭头函数,可以将其设置为一行;-)
log(arrObj.reduce(((r,c)=>Object.assign(r,c)),{});
//感谢Spen的评论。可以将“排列”操作符与“分配”一起使用

log(Object.assign({},…arrObj))
您可以使用
reduce
获得优雅的解决方案:

//mergedObj = {a:1, b:2, c:3, d:4, e:5, f:6}

请参阅。

通过调用
对象,我们可以完全避免使用reduce。使用
应用
分配
<代码>对象.分配.应用(空,对象)或,使用扩展运算符:
对象。分配(…arrObj)
@Spen谢谢。我已经在答案中包含了您的建议。@Spen FYI,
Object.assign(…arrObj)
对数组的第一个元素进行变异。所以,应该是:
Object.assign({}
arrObj.reduce(function(acc, x) {
    for (var key in x) acc[key] = x[key];
    return acc;
}, {});