Set 객체

lee jae hwan·2022년 7월 23일

javascript

목록 보기
21/107

Set객체는 중복값을 허용하지 않는 배열과 유사한 구조다.

let set = new Set();
let john = { name: "John" };
let pete = { name: "Pete" };
let mary = { name: "Mary" };

set.add(john);
set.add(pete);
set.add(mary);
set.add(john);
set.add(mary);
for (let user of set) {
  alert(user.name); // John, Pete, Mary 순으로 출력
}

중복으로 add해도 추가되지 않는다.
원소를 추가한 순서로 출력되지만 내부적으로 검색에 최적화되어있어 배열의 find보다 검색속도가 빠르다.

set객체는 완전한 배열이 아니다.

let s1 = new Set(["oranges", "apples", "bananas", "apples"]);
for (const value of s1){
   console.log(value );   
}

중복된 원소가 있는 이터러블객체를 인자로 사용하면 중복원소가 제거된 이터러블객체를 반환한다.
(배열을 반환하지 않는다)

Set객체도 WeakSet객체가 중요하다.

0개의 댓글