본문 바로가기
개발/Javascript

[js] set 객체 사용법 (ft. new Set 중복값 제거)

by 코딩하는 갓디노 2021. 8. 30.

new Set()

 

Set 객체

  • es6 최신 문법의 중복을 제거한 값들의 집합입니다.
  • 특정 요소 추가: add
  • 특정 요소가 있는지 확인: has (boolean 값으로 반환)
  • 특정 요소 제거: delete
  • 모든 요소 제거: clear
  • 요소의 개수 반환: size (배열의 length)

 

set 객체 선언

let mySet = new Set();

 

set 객체 사용법 (MDN 문서 참조)

let mySet = new Set();
mySet.add(1); // Set { 1 }
mySet.add(3); // Set { 1, 3 }
mySet.add(3); // Set { 1, 3 }
mySet.add('text'); // Set { 1, 5, 'text' }
let i = {a: 1, b: 2};
mySet.add(i); 
//결과
//Set(4) {1, 3, "text", {…}}
[[Entries]]
0: 1
1: 3
2: "text"
3:
value: {a: 1, b: 2}

mySet.has(1); // true
mySet.has('Text'.toLowerCase()); // true
mySet.has(i); // true
mySet.size; // 4
mySet.delete(3); // set에서 3를 제거함
mySet.has(3);    // false, 5가 제거되었음

 

배열 안에 중복되는 요소 제거

  • set 객체는 중복을 허용하지 않아서 요소가 반복되어 나올 경우, 덮어쓰기를 하게 됩니다.
  • 자동으로 중복되는 요소가 제거됩니다.
  • 배열에서 중복 값을 제거할 때 사용합니다.
const numbers = [1, 2, 3, 1, 4, 5, 6, 4, 5];
console.log([...new Set(numbers)]); //(6) [1, 2, 3, 4, 5, 6]
반응형

댓글