Metode Map JavaScript
new Map() 方法
可以通过将数组传递给 new Map()
构造函数来创建 Map:
instansi
// membuat Map const fruits = new Map([ ["apples", 500], ["bananas", 300], ["oranges", 200] ]);
Map.get()
dapat digunakan get()
方法获取 Map 中键的值:
instansi
fruits.get("apples");
Map.set()
dapat digunakan set()
方法向 Map 添加元素:
instansi
// membuat Map const fruits = new Map(); // 设置 Map 值 fruits.set("apples", 500); fruits.set("bananas", 300); fruits.set("oranges", 200);
set()
方法也可以用于更改现有的 Map 值:
instansi
fruits.set("apples", 500);
Map.size
size
属性返回 Map 中元素的数量:
instansi
fruits.size;
Map.delete()
delete()
方法移除 Map 中的一个元素:
instansi
fruits.delete("apples");
Map.clear()
clear()
方法移除 Map 中的所有元素:
instansi
fruits.clear();
Map.has()
如果 Map 中存在某个键,has()
方法返回 true:
instansi
fruits.has("apples");
尝试以下代码:
fruits.delete("apples"); fruits.has("apples");
Map.forEach()
forEach()
方法为 Map 中的每个键值对调用回调函数:
instansi
// 列出所有条目 let text = ""; fruits.forEach(function(value, key) { text += key + ' = ' + value; });
Map.entries()
entries()
方法返回一个包含 Map 中 [key, value] 对的迭代器对象:
instansi
// 列出所有条目 let text = ""; for (const x of fruits.entries()) { text += x; }
Map.keys()
keys()
方法返回一个包含 Map 中键的迭代器对象:
instansi
// 列出所有键 let text = ""; for (const x of fruits.keys()) { text += x; }
Map.values()
values()
metode mengembalikan sebuah objek iterator yang berisi nilai dalam Map:
instansi
// menampilkan semua nilai let text = ""; for (const x of fruits.values()) { text += x; }
dapat digunakan values()
metode menghitung total nilai dalam Map:
instansi
// menghitung total semua nilai let total = 0; for (const x of fruits.values()) { total += x; }
objek sebagai kunci
Petunjuk:kemampuan untuk menggunakan objek sebagai kunci adalah sifat penting dari Map.
instansi
// membuat objek const apples = {name: 'Apples'}; const bananas = {name: 'Bananas'}; const oranges = {name: 'Oranges'}; // membuat Map const fruits = new Map(); // menambahkan elemen baru ke Map fruits.set(apples, 500); fruits.set(bananas, 300); fruits.set(oranges, 200);
Perhatian:kunci adalah objek (apples), bukan string ("apples"):
instansi
fruits.get("apples"); // kembalikan undefined
JavaScript Map.groupBy()
ES2024 menambahkan ke JavaScript Map.groupBy()
metode.
Map.groupBy()
metode ini mengelompokkan elemen objek berdasarkan nilai string yang dipilih kembali oleh fungsi balik.
Map.groupBy()
metode ini tidak akan mengubah objek asli.
instansi
// membuat sebuah array const fruits = [ {name: "apples", quantity: 300}, {name: "bananas", quantity: 500}, {name: "oranges", quantity: 200}, {name: "kiwi", quantity: 150} ]; // fungsi balik untuk pengelompokkan function myCallback({ quantity }) { return quantity > 200 ? "ok" : "low"; } // mengelompokkan berdasarkan jumlah const result = Map.groupBy(fruits, myCallback);
Dukungan Browser
Map.groupBy()
Adalah fitur ES2024.
Dari bulan Maret 2024, semua browser yang baru mendukung fitur ini:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 117 | Edge 117 | Firefox 119 | Safari 17.4 | Opera 103 |
September 2023 | September 2023 | Oktober 2023 | Oktober 2024 | Mei 2023 |
Peringatan:
Fitur ES2024 relatif baru.
Browser versi lama mungkin memerlukan kode pengganti (Polyfill).
Perbedaan antara Object.groupBy() dan Map.groupBy()
Object.groupBy()
dan Map.groupBy()
Perbedaan nya adalah:
Object.groupBy()
Kumpulkan elemen ke dalam objek JavaScript.
Map.groupBy()
Kumpulkan elemen ke dalam objek Map.
Panduan referensi Map penuh
Untuk referensi penuh, kunjungi situs kami:Panduan Referensi Map JavaScript.
Panduan referensi Map yang mencakup deskripsi dan contoh semua properti dan metode Map.