>웹 프론트엔드 >프런트엔드 Q&A >es6 세트는 무엇을 의미합니까?

es6 세트는 무엇을 의미합니까?

青灯夜游
青灯夜游원래의
2022-03-09 18:28:122112검색

set는 "집합"을 의미하며 ES6에서 제공하는 새로운 데이터 구조입니다. 배열과 유사하지만 구성원의 값이 고유하고 중복된 값이 없습니다. 집합 개체를 사용하면 사용자는 기본 값이든 개체 참조이든 관계없이 모든 유형의 고유한 값을 저장할 수 있습니다.

es6 세트는 무엇을 의미합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.

세트란 무엇인가요?

Set(세트)는 ES6에서 제공하는 새로운 데이터 구조로 배열과 유사하지만 멤버의 값이 고유하고 중복되는 값이 없습니다.

Set 개체를 사용하면 기본 값이든 개체 참조이든 관계없이 모든 유형의 고유한 값을 저장할 수 있습니다.

Set 자체는 Set 데이터 구조를 생성하는 데 사용되는 생성자입니다.

Set의 특수 값:

Set 개체에 저장된 값은 항상 고유하므로 두 값이 같은지 여부를 확인해야 합니다. 특별한 처리가 필요한 몇 가지 특수 값이 있습니다.

  • +0과 -0은 고유성을 저장할 때 동일하므로 반복되지 않습니다.

  • undefine과 undefine은 동일하므로 반복되지 않습니다.

  • NaN과 NaN은 동일하지 않지만 Set에는 중복 없이 하나만 저장할 수 있습니다.

사용 시나리오 설정

1. 배열 중복 제거에 사용

let arr = [3, 5, 2, 2, 5, 5];
let setArr = new Set(arr)     // 返回set数据结构  Set(3) {3, 5, 2}

//方法一   es6的...解构
let unique1 =  [...setArr ];      //去重转数组后  [3,5,2]

//方法二  Array.from()解析类数组为数组
let unique2 = Array.from(setArr )   //去重转数组后  [3,5,2]

2. 문자열 중복 제거에 사용

let str = "352255";
let unique = [...new Set(str)].join("");     // 352

3. 교차점, 합집합, 차이 집합 구현

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}

,

웹 프론트엔드

위 내용은 es6 세트는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.