자료구조 & 알고리즘

[JS 자료구조] JS - Set

ahleum 2022. 5. 6. 04:03

Set 객체는 중복되지 않는 유일한 값들의 집합이며 수학적 집합을 구현하기 위한 자료구조이다.

따라서 Set을 통해 교집합, 합집합, 차집합, 여집합 등을 구현할 수 있다

배열과 유사하지만 아래와 같은 차이가 있다. 

 

구분 배열 Set 객체
동일한 값을 중복하여 포함할 수 있다 o x
요소 순서에 의미가 있다. o x
인덱스로 요소에 접근할 수 있다. o x

Set 객체의 생성 - new Set(iterable) 

– 셋을 만듭니다. 이터러블 객체를 전달받으면(대개 배열을 전달받음) 그 안의 값을 복사해 셋에 넣어줍니다.

 

요소 개수 확인 - set.size 

– 셋에 몇 개의 값이 있는지 세줍니다.

 

 

요소 추가 - set.add(value) 

– 값을 추가하고 셋 자신을 반환합니다. 셋 내에 동일한 값이 있으면 추가되지 않는다.

 

 

요소 삭제 - set.delete(value) 

– 값을 제거합니다. 호출 시점에 셋 내에 값이 있어서 제거에 성공하면 true, 아니면 false를 반환합니다.

 

 

요소 존재 여부 확인 - set.has(value) 

– 셋 내에 값이 존재하면 true, 아니면 false를 반환합니다.

 

 

요소 일괄 삭제 - set.clear() 

– 셋을 비웁니다.

 

 

요소 순회 - set.forEach