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.fromyinelenebilir 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.fromperformansınızı 'dan' O(1)a O(n)taşır. Yana mbir olduğunu Mapve 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);
}
lodashmapdestekleyen işlev gibi üçüncü taraf kitaplıklarını da kullanabilirsiniz .