You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将对象数组中的对象合并为单个对象?

解决方案

这里有几种简洁优雅的方式实现你需要的对象合并:

方法1:使用Object.assign()

Object.assign()可接收多个对象参数,将它们的属性合并到目标对象中,直接展开数组即可完成合并:

const arr = [{"All": "all"}, {"Success": "successCompleted"}, {"Refund": "refunded"}, {"Error": "error"}];
const mergedObj = Object.assign({}, ...arr);
console.log(mergedObj);
// 输出:{All: "all", Success: "successCompleted", Refund: "refunded", Error: "error"}

方法2:使用扩展运算符(...)

扩展运算符是更简洁的语法糖,同样能快速合并多个对象:

const arr = [{"All": "all"}, {"Success": "successCompleted"}, {"Refund": "refunded"}, {"Error": "error"}];
// 数组长度固定时的写法
const mergedObj = {...arr[0], ...arr[1], ...arr[2], ...arr[3]};
// 数组长度不固定时的通用写法
const mergedObj = arr.reduce((acc, curr) => ({...acc, ...curr}), {});

方法3:使用Array.prototype.reduce()

reduce方法遍历数组,逐步将对象合并到累加器中,适合需要自定义合并逻辑的场景:

const arr = [{"All": "all"}, {"Success": "successCompleted"}, {"Refund": "refunded"}, {"Error": "error"}];
const mergedObj = arr.reduce((result, current) => {
  return {...result, ...current};
}, {});
console.log(mergedObj);

注意:若数组中存在键名重复的对象,后面的对象属性会覆盖前面的属性值,这是JavaScript对象合并的默认行为。

内容的提问来源于stack exchange,提问作者John Red

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:57:19