Set은 ES6의 새로운 기능입니다. Set은 ES6의 새로운 데이터 구조입니다. 배열과 유사하지만 해당 멤버 값은 고유하고 중복 값이 없습니다. set의 순회 순서는 삽입 순서이며 set은 함수 목록 호출되면 지정된 순서대로 호출이 이루어지므로 설정된 타입이 정렬됩니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.
Set은 ES6의 새로운 기능입니다.
Set은 ES6에서 제공하는 새로운 데이터 구조로 배열과 유사하지만 멤버의 값이 고유하고 중복된 값이 없습니다.
Set 자체는 Set 데이터 구조를 생성하는 데 사용되는 생성자입니다.
// 创建Set实例 let set1 = new Set(); // {} let set2 = new Set([1,2,{name:'杰克'}]); // {1,2,{name:'杰克'}}
세트 유형은 es6의 새로운 순서 목록 컬렉션으로, 일부 독립적인 비반복 값을 포함합니다. 세트의 순회 순서는 세트에 의해 저장된 함수 목록이 호출될 때 수행됩니다. 지정된 순서대로 호출되므로 설정된 유형이 순서대로 지정됩니다.
Set의 추가, 삭제, 수정 및 확인
Set의 추가, 삭제, 수정 및 확인 방법에 대한 예:
add()
delete()
has()
clear( )
add()
특정 값을 추가하고 Set 구조 자체를 반환합니다.
인스턴스에 이미 존재하는 요소를 추가할 때 세트는 추가를 처리하지 않습니다
s.add(1).add( 2).add(2); // 2는 한 번만 추가됩니다
delete()
특정 값을 삭제하고 삭제 성공 여부를 나타내는 부울 값을 반환합니다
s.delete(1)
has()
return 값이 Set
s.has(2)
clear()
모든 멤버 지우기, 반환 값 없음
s.clear()
Set traversal
설정된 인스턴스 순회 방법은 다음과 같습니다.
순회 방법에는 다음과 같은 것이 있습니다.
keys(): 키 이름을 반환하는 순회기
values(): 키 값을 반환하는 순회기
entries(): 키-값 쌍 반환 Traverser
forEach(): 콜백 함수를 사용하여 각 멤버를 순회합니다.
Set의 순회 순서는 삽입 순서입니다
키 메서드, 값 메서드 및 항목 메서드는 트래버스 개체를 반환합니다.
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()는 각 멤버에 대해 특정 작업을 수행하는 데 사용됩니다. 키 값과 키 이름은 동일합니다. 처리 함수의 this
let set = new Set([1, 4, 9]); set.forEach((value, key) => console.log(key + ' : ' + value)) // 1 : 1 // 4 : 4 // 9 : 9
확장 연산자를 바인딩하는 데 사용되는 매개변수입니다. Set 구조와 결합하여 배열 또는 문자열 중복 제거를 달성합니다.
// 数组 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(""); // ""
합집합, 교집합 및 차이 집합 실현
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}
확장 지식:
일반 배열과 Set 인스턴스의 변환
1. 배열을 Set 인스턴스로 변환
let arr = [1,2,3]; let set = new Set(arr);// {1,2,3}
2. Set 인스턴스를 array
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]
로 변환 [관련 권장사항 : javascript 동영상 튜토리얼, 웹 프론트- 끝]
위 내용은 ES6용으로 설정되어 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!