Bunu yapmanın en basit ve en az performanslı yolu şudur:
Array.from(m).map(([key,value]) => )
Daha iyisi
Array.from(m, ([key, value]) => ))
Array.from
yinelenebilir veya dizi benzeri herhangi bir şeyi alır ve bir diziye dönüştürür! Daniel'in yorumlarda belirttiği gibi, bir yinelemeyi ve ardından bir ara diziyi kaldırmak için dönüşüme bir eşleme işlevi ekleyebiliriz.
@ Hraban'ın yorumlarda belirttiği gibi kullanmak Array.from
performansınızı 'dan' O(1)
a O(n)
taşır. Yana m
bir olduğunu Map
ve onlar sonsuz olamaz, biz sonsuz dizisi hakkında endişe gerekmez. Çoğu durumda bu yeterli olacaktır.
Bir haritada döngü oluşturmanın birkaç başka yolu vardır.
Kullanma forEach
m.forEach((value,key) => )
Kullanma 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
destekleyen işlev gibi üçüncü taraf kitaplıklarını da kullanabilirsiniz .