Javascript

[JavaScript] Set

kwaktaem 2022. 5. 8. 14:08

JavaScript에서 Set은 집합 개념이다. 중복을 허용하지 않고, 정렬되지 않은 항목들의 그룹이다. 따라서 정의에 맞게 항목의 유일성을 확인하는 것이다.

 

Set 생성

const set1 = new Set([1,2,3])
const set2 = new Set('123')

console.log(set1)
console.log(set2)

Set 객체의 생성자를 이용해서 집합을 생성할 수 있다. 이때 인자로는 iterable(배열, 맵, 집합, 문자열 등) 을 받는다. set1은 배열을 이용하고, set2는 문자열을 이용하여 집합을 생성했다. 인자를 넣지 않으면 크기가 0인 빈 집합이 생성된다.

 

Set 삽입과 삭제

const set1 = new Set([1,2,3])

set1.add(3)
set1.add(4)
set1.delete(3)
set1.delete(4)

console.log(set1)

집합원소에 대해 add() 메소드를 이용해서 삽입을하고, delete() 메소드를 이요해서 삭제를 진행할 수 있다. delete() 메소드는 삭제의 성공 여부를 boolean으로 반환한다. 이때 삽입과 삭제의 시간복잡도는 O(1)인데, Javascript 집합의 구현이 해시테이블에 근간을 두고 있기 때문이다.

 

Set 포함여부 확인

const set1 = new Set([1,2,3])
set1.has(1)
set1.has(4)

has() 메소드를 이용해서 포함 여부를 손쉽게 확인할 수 있다. 역시  O(1) 시간안에 수행이 된다.

 

출처: https://makasti.tistory.com/99