Est-ce réglé pour ES6 ?

青灯夜游
Libérer: 2022-05-05 14:37:02
original
1477 Les gens l'ont consulté

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é.

Est-ce réglé pour ES6 ?

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:'杰克'}}
Copier après la connexion

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)
Copier après la connexion

has()

return Une valeur booléenne pour déterminer si la valeur est membre de Set

s.has(2)
Copier après la connexion

clear()

Effacer tous les membres, aucune valeur de retour

s.clear()
Copier après la connexion

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"]
Copier après la connexion

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
Copier après la connexion

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(""); // ""
Copier après la connexion

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}
Copier après la connexion

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}
Copier après la connexion

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]
Copier après la connexion

[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!

É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