tengo una estructura de
Array(4) [Map(1),Map(1),Map(1),Map(1)]Todas las teclas son diferentes allí. Estoy tratando de encontrar la forma común de fusionarlo en un Mapa.
Conozco el camino por dos Mapas:
let merged = new Map([...first, ...second])Pero para esta solución necesito una forma más común.
.map cada mapa a sus entradas, luego aplanar la matriz de matrices de entradas a una sola matriz de entradas, luego convertir eso en un Mapa.
const arr = [ new Map([[1, 2]]), new Map([[3, 4]]), ]; const merged = new Map( arr.map( map => [...map] ).flat() ); console.log([...merged]);Puede usar array#reduce para fusionar múltiples Map .
maps.reduce((r, map) => new Map([...r, ...map]), new Map()) const map1 = new Map(); map1.set('a', 1); const map2 = new Map(); map2.set('b', 2); const map3 = new Map(); map3.set('c', 3); const maps = [map1, map2, map3], merged = maps.reduce((r, map) => new Map([...r, ...map]), new Map()); console.log([...merged]);