A maneira mais simples e de menor desempenho de fazer isso é:
Array.from(m).map(([key,value]) => )
Melhor ainda
Array.from(m, ([key, value]) => ))
Array.frompega qualquer coisa iterável ou semelhante a um array e o converte em um array! Como Daniel aponta nos comentários, podemos adicionar uma função de mapeamento à conversão para remover uma iteração e, subsequentemente, um array intermediário.
Usar Array.fromirá mover seu desempenho de O(1)para O(n)como @hraban aponta nos comentários. Como mé um Mape eles não podem ser infinitos, não precisamos nos preocupar com uma sequência infinita. Na maioria dos casos, isso será suficiente.
Existem algumas outras maneiras de percorrer um mapa.
Usando forEach
m.forEach((value,key) => )
Usando for..of
var myMap = new Map();
myMap.set(0, 'zero');
myMap.set(1, 'one');
for (var [key, value] of myMap) {
console.log(key + ' = ' + value);
}
lodashmapfunções que também oferecem suporte ao mapa.