Méthodes Map JavaScript
new Map() 方法
可以通过将数组传递给 new Map()
构造函数来创建 Map:
实例
// Création d'une Map const fruits = new Map([ ["apples", 500], ["bananas", 300], ["oranges", 200] ]);
Map.get()
Il est possible d'utiliser get()
方法获取 Map 中键的值:
实例
fruits.get("apples");
Map.set()
Il est possible d'utiliser set()
方法向 Map 添加元素:
实例
// Création d'une Map const fruits = new Map(); // 设置 Map 值 fruits.set("apples", 500); fruits.set("bananas", 300); fruits.set("oranges", 200);
set()
方法也可以用于更改现有的 Map 值:
实例
fruits.set("apples", 500);
Map.size
size
属性返回 Map 中元素的数量:
实例
fruits.size;
Map.delete()
delete()
方法移除 Map 中的一个元素:
实例
fruits.delete("apples");
Map.clear()
clear()
方法移除 Map 中的所有元素:
实例
fruits.clear();
Map.has()
如果 Map 中存在某个键,has()
方法返回 true:
实例
fruits.has("apples");
尝试以下代码:
fruits.delete("apples"); fruits.has("apples");
Map.forEach()
forEach()
方法为 Map 中的每个键值对调用回调函数:
实例
// 列出所有条目 let text = ""; fruits.forEach(function(value, key) { text += key + ' = ' + value; });
Map.entries()
entries()
方法返回一个包含 Map 中 [key, value] 对的迭代器对象:
实例
// 列出所有条目 let text = ""; for (const x of fruits.entries()) { text += x; }
Map.keys()
keys()
方法返回一个包含 Map 中键的迭代器对象:
实例
// 列出所有键 let text = ""; for (const x of fruits.keys()) { text += x; }
Map.values()
values()
La méthode retourne un objet itérateur contenant les valeurs de la Map :
实例
// Liste de toutes les valeurs let text = ""; for (const x of fruits.values()) { text += x; }
Il est possible d'utiliser values()
La méthode additionne les valeurs de la Map :
实例
// Somme de toutes les valeurs let total = 0; for (const x of fruits.values()) { total += x; }
Objets en tant que clés
Avis :L'utilisation d'objets en tant que clés est une caractéristique importante de Map.
实例
// Création d'objets const apples = {name: 'Apples'}; const bananas = {name: 'Bananas'}; const oranges = {name: 'Oranges'}; // Création d'une Map const fruits = new Map(); // Ajout d'un nouvel élément à la Map fruits.set(apples, 500); fruits.set(bananas, 300); fruits.set(oranges, 200);
Attention :La clé est un objet (apples), et non une chaîne ("apples"):
实例
fruits.get("apples"); // Retourne undefined
JavaScript Map.groupBy()
ES2024 ajoute à JavaScript Map.groupBy()
Méthode.
Map.groupBy()
La méthode regroupe les éléments de l'objet en fonction de la valeur de chaîne renvoyée par la fonction de rappel.
Map.groupBy()
La méthode ne modifie pas l'objet original.
实例
// Création d'un tableau const fruits = [ {name: "apples", quantity: 300}, {name: "bananas", quantity: 500}, {name: "oranges", quantity: 200}, {name: "kiwi", quantity: 150} ]; // Fonction de rappel utilisée pour le groupage function myCallback({ quantity }) { return quantity > 200 ? "ok" : "low"; } // Grouper par quantité const result = Map.groupBy(fruits, myCallback);
Prise en charge du navigateur
Map.groupBy()
C'est une fonctionnalité ES2024.
À partir de mars 2024, tous les nouveaux navigateurs prendront en charge cette fonctionnalité :
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 117 | Edge 117 | Firefox 119 | Safari 17.4 | Opera 103 |
Septembre 2023 | Septembre 2023 | Octobre 2023 | Octobre 2024 | Mai 2023 |
Attention :
Les fonctionnalités ES2024 sont relativement nouvelles.
Les navigateurs anciens peuvent nécessiter du code de remplacement (Polyfill).
La différence entre Object.groupBy() et Map.groupBy()
Object.groupBy()
et Map.groupBy()
La différence réside en :
Object.groupBy()
Grouper les éléments dans un objet JavaScript.
Map.groupBy()
Grouper les éléments dans un objet Map.
Manuel complet de Map
Pour une référence complète, veuillez visiter notre :Manuel de JavaScript Map.
Ce manuel contient une description et des exemples de toutes les propriétés et méthodes de Map.