JavaScript连接两个Map对象

Mor*_*ani 1 javascript ecmascript-6

有什么方法可以将两个(或多个)Map对象连接到像数组concat这样的Map上?

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

Mor*_*ani 6

我发现的最简单的方法是将地图转换为key value pair array,对其进行合并,最后根据结果创建一个新地图:

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

  • 一个简单的`new Map([... map1,... map2])`也可以 (8认同)