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

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

不言
不言avant
2018-11-14 16:13:022317parcourir

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]);

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"}

Array

new Set([1,2,3,4]) // Set(4) {1, 2, 3, 4}

arguments

function sum(){
  return new Set(arguments)
}
sum(1,2,3,4)  // Set(4) {1, 2, 3, 4}

Set

new Set(new Set([1,2,3,4])) // Set(4) {1, 2, 3, 4}

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}

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}

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}}

Déterminer s'il contient

let set=new Set([1,2,3])
set.has(1) // true
set.has(4) //false

Obtenir la quantité

let set=new Set([1,2,3])
set.size //3

Supprimer

let set=new Set([1,2,3])
set.delete(1)// true
set.delete(1)// false

Effacer

let set=new Set([1,2,3])
set.clear()
console.log(set) // Set(0){}

Traverse

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

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

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

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

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer