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

如何将多个Map组成的JS数组合并为单个Map?

合并多个Map的通用方案

针对你拥有的包含多个Map的数组(所有键不重复),这里提供两种通用的合并方法:

方法1:使用flatMap+扩展运算符

通过flatMap将每个Map转换为键值对数组并扁平化,再传入Map构造函数生成合并后的Map:

const mapArray = [new Map([['a', 1]]), new Map([['b', 2]]), new Map([['c', 3]]), new Map([['d', 4]])];
const mergedMap = new Map(mapArray.flatMap(map => [...map]));

方法2:使用reduce累积合并

利用reduce的累积特性,从空Map开始,逐个合并数组中的每个Map:

const mapArray = [new Map([['a', 1]]), new Map([['b', 2]]), new Map([['c', 3]]), new Map([['d', 4]])];
const mergedMap = mapArray.reduce((acc, curr) => new Map([...acc, ...curr]), new Map());

两种方法都适用于任意长度的Map数组,因为你提到所有键不重复,所以无需处理键冲突覆盖的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 22:24:30