Set est une nouvelle fonctionnalité d'ES6. Set est une nouvelle structure de données dans ES6. Il s'agit d'une collection de listes ordonnées, similaire à un tableau, mais ses valeurs membres sont uniques et il n'y a pas de valeurs en double. L'ordre de parcours de set est l'ordre d'insertion, et set enregistre un ; liste de fonctions Lorsqu'ils sont appelés, les appels sont effectués dans l'ordre spécifié, donc le type défini est ordonné.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3.
Set est une nouvelle fonctionnalité d'ES6.
Set est une nouvelle structure de données fournie par ES6, qui est similaire à un tableau, mais les valeurs des membres sont uniques et il n'y a pas de valeurs en double.
Set lui-même est un constructeur utilisé pour générer la structure de données Set.
// 创建Set实例 let set1 = new Set(); // {} let set2 = new Set([1,2,{name:'杰克'}]); // {1,2,{name:'杰克'}}
Le type d'ensemble est une nouvelle collection de listes ordonnées dans es6, qui contient des valeurs indépendantes non répétitives ; l'ordre de parcours de l'ensemble est l'ordre d'insertion lorsqu'une liste de fonctions enregistrée par l'ensemble est appelée, elle est effectuée dans. l'ordre spécifié, donc le type défini est ordonné.
Add, delete, modifier et check de Set
Exemple de Set sur la méthode d'ajout, de suppression, de modification et de vérification :
add()
delete()
has()
clear( )
add()
Ajoute une certaine valeur et renvoie la structure Set elle-même
Lors de l'ajout d'éléments qui existent déjà dans l'instance, l'ensemble ne traitera pas l'ajout
s.add(1).add( 2).add(2); // 2 n'est ajouté qu'une seule fois
delete()
Supprime une certaine valeur et renvoie une valeur booléenne indiquant si la suppression est réussie
s.delete(1)
has()
return Une valeur booléenne pour déterminer si la valeur est membre de Set
s.has(2)
clear()
Effacer tous les membres, aucune valeur de retour
s.clear()
Set traversal
Les méthodes de traversée d'instances définies sont les suivantes :
À propos des méthodes de traversée, il y a les suivantes :
keys() : un traverseur qui renvoie les noms de clés
values() : un traverseur qui renvoie des valeurs clés
entries() : renvoie les paires clé-valeur Traverser
forEach() : utilisez la fonction de rappel pour parcourir chaque membre
L'ordre de parcours de l'ensemble est l'ordre d'insertion
La méthode des clés, les valeurs La méthode et la méthode d'entrées renvoient l'objet traverseur
let set = new Set(['red', 'green', 'blue']); for (let item of set.keys()) { console.log(item); } // red // green // blue for (let item of set.values()) { console.log(item); } // red // green // blue for (let item of set.entries()) { console.log(item); } // ["red", "red"] // ["green", "green"] // ["blue", "blue"]
forEach() est utilisé pour effectuer une certaine opération sur chaque membre. Il n'y a pas de valeur de retour. La valeur de la clé et le nom de la clé sont égaux. paramètre, qui est utilisé pour lier l'opérateur d'expansion this
let set = new Set([1, 4, 9]); set.forEach((value, key) => console.log(key + ' : ' + value)) // 1 : 1 // 4 : 4 // 9 : 9
de la fonction de traitement. Combiné avec la structure Set pour réaliser la déduplication de tableau ou de chaîne
// 数组 let arr = [3, 5, 2, 2, 5, 5]; let unique = [...new Set(arr)]; // [3, 5, 2] // 字符串 let str = "352255"; let unique = [...new Set(str)].join(""); // ""
Réaliser des ensembles d'union, d'intersection et de différence
let a = new Set([1, 2, 3]); let b = new Set([4, 3, 2]); // 并集 let union = new Set([...a, ...b]); // Set {1, 2, 3, 4} // 交集 let intersect = new Set([...a].filter(x => b.has(x))); // set {2, 3} // (a 相对于 b 的)差集 let difference = new Set([...a].filter(x => !b.has(x))); // Set {1}
Connaissances étendues :
Conversion entre les tableaux ordinaires et les instances Set
1. Convertir le tableau en instance Set
let arr = [1,2,3]; let set = new Set(arr);// {1,2,3}
2. Convertir l'instance Set en tableau
let set = new Set([1,2,3]);// {1,2,3} // 方式一 扩展运算符 let arr = [...set];// [1,2,3] // 方式二 Array.from方法 let arr = Array.from(set);// [1,2,3]
[Recommandations associées : tutoriel vidéo javascript, front- fin]
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!