Set 자료구조의 특징과 내장 메소드 및 프로퍼티에 대해 알아보고
Map 자료구조와의 호환성에 대해 알아봅시다.
1. 정의 및 특징
Set 자료구조는 중복을 허락하지 않는 값들의 콜렉션입니다.
일반적으로 배열 혹은 Iterable 객체들을 Set의 생성자의 인자로 받아 사용합니다.
2. Method & Property
메소드 & 프로퍼티 | 역할 | 반환 값 |
new Set(Item) | Set 자료구조를 생성합니다. Item의 있는 값들을 복사해 새로운 Set 자료구조를 만듭니다. |
Set 자료구조 |
target.add(value) | value 값을 새로이 추가합니다 | Set 자료구조 *체이닝 가능 |
target.delete(value) | value 값을 삭제합니다. | boolean 성공시 true, else false |
target.has(value) | 해당하는 value값이 존재하는지 확인합니다. |
boolean 성공시 true, else false |
target.clear() | Set 자료구조에 있는 모든 요소들을 제거합니다 |
X, undefined |
target.size | Set 자료의 요소 개수를 담은 프로퍼티 | 숫자형 |
target.keys() | Set 자료 순회 | Iterable 객체 |
target.values() | Set 자료 순회 | Iterable 객체 |
target.entries() | Set 자료 순회 | Iterable 객체 |
target.forEach((value, valueAgain, set)) | Set 자료 순회 | Iterable 객체 |
3. Map과의 호환
Map에 대해 잘 모른다면 지난 포스트를 참고해주세요
JavaScript, Map 자료구조
복잡한 자료구조 중 하나인 Map과 이와 유사한 Object(객체)가 어떻게 다른지 알아보고 Map 자료구조의 내장 메소드와 프로퍼티를 사용해봅시다. 1. Key 값 Object와 Map은 둘 다 Key가 있는 콜렉션입니다
songye.tistory.com
위에 메소드들의 정리를 보면
Set은 Key Value 형태가 아닌 Value값만을 가졌음에도
keys, value, entries, forEach 순회 내장 메소드가 있음을 확인할 수 있습니다.
이렇게 정의한 이유는 Map 자료구조와 호환성을 위함입니다.
같은 형태의 순회구조를 만들어 놓음으로써
Map을 Set으로 Set을 Map으로 바꾸기 쉽습니다.
(그냥 인자로 받아서 알아서 바꿔줬으면 하지만)
4. 결론
- Set은 중복이 없는 콜렉션 자료구조이다.
- Map과의 호환성이 좋다.
- Set은 순회순서가 삽입순서이다.
맵과 셋
ko.javascript.info
'Web > JavaScript' 카테고리의 다른 글
JavaScript, Prototype & this (0) | 2024.03.25 |
---|---|
JavaScript, Prototype 상속과 .__proto__ (0) | 2024.03.22 |
JavaScript, Map 자료구조 (0) | 2024.03.12 |
JavaScript, 내장 메소드 정리 (0) | 2024.03.11 |
JavaScript, Undefined & null & Nan (0) | 2024.03.04 |