Maison > interface Web > js tutoriel > Introduction à l'utilisation de Set dans ES6 (exemple de code)

Introduction à l'utilisation de Set dans ES6 (exemple de code)

不言
Libérer: 2018-11-14 16:13:02
avant
2377 Les gens l'ont consulté

Cet article vous présente une introduction à l'utilisation de Set dans ES6 (exemples de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Vue d'ensemble

Set est une nouvelle structure de données, qui présente des fonctionnalités similaires à d'autres langages. Bien sûr, en tant que Set en js, il possède toujours certaines fonctionnalités qui appartiennent à js.

Initialisation

new Set([iterable]);
Copier après la connexion

L'initialisation d'un ensemble a un paramètre facultatif. Ce paramètre doit être un objet itérable. Les objets itérables incluent String, Array, Array-Like obejct(Arguments, NodeList), Typed. Array, Set, Map et objets itérables définis par l'utilisateur

String

new Set('1234') // Set(4) {"1", "2", "3", "4"}
Copier après la connexion

Array

new Set([1,2,3,4]) // Set(4) {1, 2, 3, 4}
Copier après la connexion

arguments

function sum(){
  return new Set(arguments)
}
sum(1,2,3,4)  // Set(4) {1, 2, 3, 4}
Copier après la connexion

Set

new Set(new Set([1,2,3,4])) // Set(4) {1, 2, 3, 4}
Copier après la connexion

Ajouter de la valeur

Après avoir initialisé un Set, vous pouvez continuer à y ajouter des valeurs

let set=new Set()
set.add(1)
set.add(1)
set.add(1)
console.log(set) // Set(1) {1}
Copier après la connexion

Vous pouvez faire beaucoup de choses en empruntant cette fonctionnalité . Par exemple, filtrez les valeurs en double

new Set([1,1,2,3]) // Set(3){1,2,3}
Copier après la connexion

mais notez que deux objets littéraux identiques sont des objets différents avec des références différentes, donc Set ne peut pas marquer deux objets avec des références différentes comme étant identiques, même s'ils sont identiques. se ressemblent

let a={num:1}
let b={num:1}
console.log(a===b) //false
new Set(a, b)// Set(2){{num:1},{num:2}}
let c=a
console.log(c===a)//true
new Set(a,c)// Set(1){{num:1}}
Copier après la connexion

Déterminer s'il contient

let set=new Set([1,2,3])
set.has(1) // true
set.has(4) //false
Copier après la connexion

Obtenir la quantité

let set=new Set([1,2,3])
set.size //3
Copier après la connexion

Supprimer

let set=new Set([1,2,3])
set.delete(1)// true
set.delete(1)// false
Copier après la connexion

Effacer

let set=new Set([1,2,3])
set.clear()
console.log(set) // Set(0){}
Copier après la connexion

Traverse

let set=new Set([1,2,3])
set.forEach((s)=>{console.log(s)})
// 1
// 2
// 3
Copier après la connexion

Obtenir l'itérateur

let set=new Set([1,2,3])
let entries=set.entries()
console.log(entries.next().value) // [1,1]
console.log(entries.next().value) // [2,2]
console.log(entries.next().value) // [3,3]
console.log(entries.next().value) // undefined

for(let item of set){
    console.log(item)
}
// 1
// 2
// 3
Copier après la connexion

Obtenir l'itérateur de clé

let set=new Set([1,2,3])
let keys=set.keys()
console.log(keys.next().value) // 1
console.log(keys.next().value) // 2
console.log(keys.next().value) // 3
console.log(keys.next().value) // undefined

for(let {key} of set){
    console.log(key)
}
// 1
// 2
// 3
Copier après la connexion

Obtenir l'itérateur de valeur

let set=new Set([1,2,3])
let values=set.values()
console.log(values.next().value) // 1
console.log(values.next().value) // 2
console.log(values.next().value) // 3
console.log(values.next().value) // undefined

for(let {value} of set){
    console.log(value)
}
// 1
// 2
// 3
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:segmentfault.com
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