ES6의 Set 사용법 소개(코드 예)

不言
풀어 주다: 2018-11-14 16:13:02
앞으로
2343명이 탐색했습니다.

이 글은 ES6의 Set 사용법을 소개합니다(코드 예제). 필요한 친구들이 참고할 수 있기를 바랍니다.

개요

Set은 다른 언어와 유사한 기능을 가진 새로운 데이터 구조입니다. 물론 js의 Set으로서 여전히 js에 속하는 일부 기능을 가지고 있습니다.

초기화

new Set([iterable]);
로그인 후 복사

Set 초기화에는 반복 가능한 객체여야 하는 선택적 매개변수가 있습니다. 반복 가능한 객체에는 문자열, 배열, 유사 배열 객체(인수, NodeList), 형식화된 배열, Set, Map 및 사용자 정의 반복 가능한 객체가 포함됩니다.

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}
로그인 후 복사

값 추가

Set을 초기화한 후에도 계속해서 값을 추가할 수 있습니다

let set=new Set()
set.add(1)
set.add(1)
set.add(1)
console.log(set) // Set(1) {1}
로그인 후 복사

이 기능을 빌려 많은 일을 할 수 있습니다 , 예를 들어 중복 값 필터링 ​​

new Set([1,1,2,3]) // Set(3){1,2,3}
로그인 후 복사

그러나 두 개의 동일한 객체 리터럴은 서로 다른 참조를 가진 서로 다른 객체이므로 Set 서로 다른 참조를 가진 두 객체를 동일하다고 표시할 수는 없으며, 지나쳐 보더라도 동일합니다

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}}
로그인 후 복사

결정 포함 여부

let set=new Set([1,2,3])
set.has(1) // true
set.has(4) //false
로그인 후 복사

수량 가져오기

let set=new Set([1,2,3])
set.size //3
로그인 후 복사

Delete

let set=new Set([1,2,3])
set.delete(1)// true
set.delete(1)// false
로그인 후 복사

Empty

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
로그인 후 복사

반복자 가져오기

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
로그인 후 복사

키 반복자 가져오기

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
로그인 후 복사

값 반복자 가져오기

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
로그인 후 복사

위 내용은 ES6의 Set 사용법 소개(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿