javascript - Slå ihop alla värden i en karta


Jag får ett konstant resultat som detta:

result: Map<string, string[]>

När jag gör en console.log(result) är utdata:

Map {
 'toto' => [ 'a-1', 'a-2' ],
 'tata' => [ 'b-1', 'b-2' ],
 'titi' => [ 'c-1', 'c-2' ],
}

Vad jag vill ha är ett konstant globalt resultat med alla värden som detta:

const globalResult = [ 'a-1', 'a-2','b-1','b-2','c-1','c-2' ]

Hur kan jag göra detta?

Tack

Svar #1

Du kan få kartvärden i en matris och sedan använda flat()-metoden på den som:

const myMap = new Map().set('toto', ['a-1', 'a-2']).set('tata', ['b-1', 'b-2'])
const arr = [...myMap.values()].flat()

console.log(arr)

Svar #2

Du kan använda Array.from för att omvandla map-värden till en platt array

const map = new Map();

map.set('a',11)
map.set('b',22)
map.set('c',33)

const array = Array.from(map.values())
console.log(array)