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

如何将对象组成的二维数组转换为单个平面对象?

将二维对象数组转换为平面对象的实现方法

输入数据

const data = [
  [{ a: "a" }, { b: "b" }, { c: "c" }],
  [{ d: "d" }, { e: "e" }, { f: "f" }],
  [{ g: "g" }, { h: "h" }, { i: "i" }],
];

期望输出

const result = {
  a: "a",
  b: "b",
  c: "c",
  d: "d",
  e: "e",
  f: "f",
  g: "g",
  h: "h",
  i: "i",
};

实现方法

方法1:扁平化数组后合并对象

先通过flat()将二维数组转为一维数组,再用Object.assign()合并所有对象:

const result = Object.assign({}, ...data.flat());

方法2:嵌套reduce()遍历合并

通过两层reduce遍历数组,逐步将子数组中的对象合并到初始空对象中:

const result = data.reduce((total, subArray) => {
  return subArray.reduce((acc, obj) => ({ ...acc, ...obj }), total);
}, {});

方法3:flatMap()结合展开语法

用flatMap()扁平化数组,再通过展开语法合并对象:

const result = Object.assign({}, ...data.flatMap(item => item));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 06:48:25