Cara termudah dan paling tidak berkinerja untuk melakukan ini adalah:
Array.from(m).map(([key,value]) => )
Lebih baik
Array.from(m, ([key, value]) => ))
Array.from
mengambil hal yang dapat diulang atau seperti larik dan mengubahnya menjadi larik! Seperti yang Daniel tunjukkan di komentar, kita dapat menambahkan fungsi pemetaan ke konversi untuk menghapus iterasi dan selanjutnya array perantara.
Menggunakan Array.from
akan bergerak kinerja Anda dari O(1)
ke O(n)
sebagai titik @hraban keluar di komentar. Karena m
adalah a Map
, dan mereka tidak bisa tidak terbatas, kita tidak perlu khawatir tentang urutan yang tidak terbatas. Untuk kebanyakan kasus, ini sudah cukup.
Ada beberapa cara lain untuk memutar melalui peta.
Menggunakan forEach
m.forEach((value,key) => )
Menggunakan 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
fungsi yang mendukung Peta juga.