Найпростішим і НЕ менш продуктивний спосіб зробити це:
Array.from(m).map(([key,value]) => )
Ще краще
Array.from(m, ([key, value]) => ))
Array.from
бере будь-яку ітерабельну або схожу на масив річ і перетворює її в масив! Як зазначає Даніель у коментарях, ми можемо додати функцію відображення до перетворення, щоб видалити ітерацію та згодом проміжний масив.
Використання Array.from
перенесе вашу ефективність із O(1)
на, O(n)
як зазначає @hraban у коментарях. Оскільки m
є Map
, і вони не можуть бути нескінченними, нам не доведеться турбуватися про нескінченну послідовність. Для більшості випадків цього буде достатньо.
Існує ще кілька способів прокрутити карту.
Використовуючи forEach
m.forEach((value,key) => )
Використовуючи 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
функція, яка також підтримує Map.