[자바스크립트] Set 객체

Darlene·2021년 8월 9일
0

자바스크립트

목록 보기
19/24
post-thumbnail

Set 객체

Set 객체는 ES6에서 등장한 중복을 제거한 값들의 집합이다.
자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있다.

Set 객체 선언

// 매개변수 있을 경우
const iterable = [
   1, 
   2,
   3,
   3,
   3,
   4,
  '4', 
  '안녕',
  ('이호', '35'), 
  { 'a' : 1 }, 
  2,
];

let mySet = new Set(iterable);

// 매개변수 없을 경우
let mySet = new Set();

매개변수에 반복 가능한 객체가 전달된 경우, 그 요소는 모두 새로운 Set에 추가가 된다.

만약 매개변수를 명시하지 않거나 null을 전달하면, 새로운 Set은 비어 있는 상태가 된다.

Set 객체 사용

1️⃣ add (특정 요소 추가 메서드)

add는 생성된 Set 객체에 값을 추가한다.
이때 Set객체의 요소들의 자료형이 달라도 문제가 발생하지 않는다.

Set.add(value);
예제
let mySet = new Set();

mySet.add(1); // Set { 1 }
mySet.add(2); // Set { 1, 2 }
mySet.add(2); // Set { 1, 2 }
mySet.add('five'); // Set { 1, 2, 'five' }

2️⃣ has (특정 요소 확인 메서드)

has는 인수 value로 지정된 값이 Set 객체 내부에 존재하는지 확인하는 메소드이다. 요소가 있으면 true, 요소가 없으면 false를 반환한다.

has(value);
예제
let mySet = new Set();

mySet.add(1);
mySet.add('five');
mySet.add(3);
mySet.add(false);

console.log(mySet.has(true));  // false
console.log(mySet.has(3));  // true

3️⃣ delete (특정 요소 제거 메서드)

delete는 인수 value로 지정된 요소만을 삭제한다.

delete(value);
예제
let mySet = new Set(['a', 1, '안녕']);

mySet.delete(1);
console.log(mySet); // Set { 'a', '안녕' }

4️⃣ clear (모든 요소 제거 메서드)

clear는 Set 객체 내의 모든 요소들을 삭제한다.

clear();
예제
let mySet = new Set(['a', 1, '안녕']);

mySet.clear();
console.log(mySet); // Set {}

5️⃣ size (요소의 개수 반환 메서드)

size는 Set 객체의 요소의 수를 반환한다.

size;
예제
let mySet = new Set(['a', 1, '안녕', 10]);

console.log(mySet.size); // 4

0개의 댓글