Maison > interface Web > js tutoriel > Explication détaillée des instances Map et Set en JavaScript

Explication détaillée des instances Map et Set en JavaScript

零下一度
Libérer: 2017-06-26 10:12:09
original
1321 Les gens l'ont consulté

Carte

 Map est une structure de paires clé-valeur et a une vitesse de recherche extrêmement rapide.

Définition de la carte.

//空map设值key-valuevar m = new Map();
m.set("XiaoMing",99);
m.set("XiaoHong",66);//构造参数传key-valuevar m = new Map([['XiaoMing', 99], ['XiaoHong', 66]]);
Copier après la connexion

Méthodes dans Map

var m = new Map(); // 空Mapm.set('XiaoMing', 99); // 添加新的key-valuem.has('XiaoMing'); // 是否存在key 'XiaoMing': truem.get('XiaoMing'); // 99m.delete('XiaoMing'); // 删除key 'XiaoMing'm.get('XiaoMing'); // undefined
Copier après la connexion

En définissant à plusieurs reprises une valeur pour une clé, la valeur suivante écrasera la valeur précédente.

var m = new Map();
m.set('XiaoMing', 99);
m.set('XiaoMing', 98);
m.get('XiaoMing'); // 98
Copier après la connexion

Set

Set est similaire à Map, mais set stocke les clés et les clés ne sont pas répétées.

Création de Set.

var s1 = new Set(); // 空Sets1.add(1);
s1.add(2);
s1.add(3);var s2 = new Set([1, 2, 3]); // 含1, 2, 3
Copier après la connexion

Insérer les valeurs en double, set filtrera les valeurs en double

 s =  Set([1, 2, 33>>s; s.delete(3);
>>s;
Copier après la connexion

Mapper et définir le parcours

Array peut utiliser des indices pour le parcours de boucle, mais Map et Set ne peuvent pas utiliser d'indices. Afin d'unifier les types de collections, la norme ES6 a introduit le type itérable Array, Map et Set appartiennent tous au type itérable.

Les collections de type iterable peuvent être parcourues via une nouvelle boucle for ... of.

var a = ['A', 'B', 'C'];var s = new Set(['A', 'B', 'C']);var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);for (var x of a) { // 遍历Array    alert(x);
}for (var x of s) { // 遍历Set    alert(x);
}for (var x of m) { // 遍历Mapalert(x[0] + '=' + x[1]);
}
Copier après la connexion

Meilleur parcours : forEach

forEach est une méthode intégrée d'itérable, qui reçoit un function , cette fonction est automatiquement rappelée à chaque itération.

var a = ['A', 'B', 'C'];
a.forEach(function (element, index, array) {// element: 指向当前元素的值// index: 指向当前索引// array: 指向Array对象本身    alert(element);
});
Copier après la connexion

 Set est similaire à Array, mais Set n'a pas d'index, donc les deux premiers paramètres de la fonction de rappel sont les éléments eux-mêmes :

var s = new Set(['A', 'B', 'C']);
s.forEach(function (element, sameElement, set) {
    alert(element);
});
Copier après la connexion

Les paramètres de la fonction de rappel de Map sont value, key et map lui-même :

var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
m.forEach(function (value, key, map) {
    alert(value);
});
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal