JavaScript 合并两个 Map 对象

17

有没有办法将两个(或更多)Map对象连接成一个类似于数组concat的Map?

var map1 = new Map([['breakfast', 'meal'], ['dinner', 'meal']]);
var map2 = new Map([['launch', 'meal'], ['dinner', 'meal']]);
var concatenated = map1.concat(map2);
1个回答

25

我发现最简单的方法是将地图转换为键值对数组,将它们连接起来,最后从结果创建一个新的地图:

var map1 = new Map([['breakfast', 'meal'], ['dinner', 'meal']]);
var map2 = new Map([['launch', 'meal'], ['dinner', 'meal']]);
var concatenated = new Map([...map1].concat([...map2]));

37
new Map([...map1, ...map2]) 这个简单的语句也可以起到作用。 - vaultah
出现错误:类型映射不是数组类型或字符串类型 - tryingToLearn
@tryingToLearn 哪个解决方案?我的还是vaultah的? 分享一些代码以查看问题。 - Morteza Tourani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接