Map과 Set은 비교적 최근에 등장한 자료구조(ES6)로
데이터의 구성, 검색, 사용을 보다 효율적으로 처리하기 위해 등장
Map
- Key / Value 페어를 저장
- Key에 어떤 데이터타입도 다 들어올 수 있음 (객체와의 가장 큰 차이)
- set / get 메서드는로 설정 / 불러오기
const myMap = new Map();
myMap.set('one','1');
myMap.set('two','2');
myMap.set('three','3');
console.log(myMap.keys())
for(const key of myMap.keys()) {
console.log(key);
}
// one two three 출력
// iterator 활용
console.log(myMap.size) // => 3
console.log(myMap.has('one')) // => true
Set
- 고유한 값을 저장하는 자료구조 (중복 x, 집합의 개념과 비슷)
- 값만 저장 (key를 저장하지 않음)
- add / get 메서드는로 설정 / 불러오기
const mySet = new Set();
mySet.add('values1');
mySet.add('values2');
mySet.add('values2');
console.log(mySet.size) // => 2 (중복 허용 x)
Set 또한 iterator 활용 가능
mdn 공식문서에서 'Set을 활용하면 교집합, 차집합을 흉내낼 수 있다'라고 나와 있음
[mdn 공식문서]https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Set
'Programming' 카테고리의 다른 글
[알고리즘] 프로그래머스 두 개 뽑아서 더하기 (0) | 2023.06.26 |
---|---|
[알고리즘] 로또의 최고 순위와 최저 순위 (0) | 2023.06.26 |
[TIL] 숫자야구게임 (0) | 2023.06.26 |
[JS] 호이스팅(Hoisting) (3) | 2023.06.26 |
[개발 환경] Node.js , VS Code (+ extension) (0) | 2023.06.26 |