본문 바로가기

Web/JavaScript

JavaScript, Set 자료구조

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