Najprostszym i najmniej wydajnych sposobem, aby to zrobić, to:
Array.from(m).map(([key,value]) => )
Jeszcze lepiej
Array.from(m, ([key, value]) => ))
Array.from
pobiera dowolną iterowalną lub podobną do tablicy rzecz i konwertuje ją na tablicę! Jak Daniel wskazuje w komentarzach, możemy dodać funkcję odwzorowującą do konwersji, aby usunąć iterację, a następnie tablicę pośrednią.
Użycie Array.from
spowoduje przeniesienie wydajności z O(1)
do, O(n)
jak wskazuje @hraban w komentarzach. Ponieważ m
jest a Map
i nie mogą być nieskończone, nie musimy się martwić o nieskończoną sekwencję. W większości przypadków to wystarczy.
Istnieje kilka innych sposobów przeglądania mapy.
Za pomocą forEach
m.forEach((value,key) => )
Za pomocą for..of
var myMap = new Map();
myMap.set(0, 'zero');
myMap.set(1, 'one');
for (var [key, value] of myMap) {
console.log(key + ' = ' + value);
}
lodash
map
funkcja, która obsługuje również Mapę.