반응형
Map & Set
자바스크립트에서 객체와 배열을 이용하면 다양하고 복잡한 프로그래밍을 할 수 있으나
현실세계의 여러 문제들을 프로그래밍적으로 반영하기엔 많이 부족하므로 등장한 자료구조
Map
- Key-Value 쌍: 키-값(key-value) 쌍을 저장하는 자료구조로
이러한 쌍을 이용하여 데이터를 저장하고 검색 - 중복 키 허용: 키에 중복을 허용하며, 각 키는 유일해야 하지만 값은 중복저장 될 수 있음
- 순서 보장: 키-값 쌍이 추가된 순서를 보존해서 데이터를 반복하는 동안 원하는 순서로 접근 가능
- 주요 메서드: set(key, value), get(key), has(key), delete(key) 등으로 데이터 추가, 조회, 검색 및 삭제 가능
const myMap = new Map();
myMap.set('name', 'John');
myMap.set('age', 30);
console.log(myMap.get('name')); // 'John'
console.log(myMap.has('age')); // true
Set
- 고유한 값의 컬렉션: 중복되지 않는 값의 컬렉션을 저장하는 자료구조
중복된 값이 자동으로 제거 - 순서보장: 원소가 추가된 순서를 보존
데이터를 반복하는 동안 순서를 유지할 수 있음 - 주요 메서드: add(value), has(value), delete(value) 등으로 값을 추가, 검색 및 삭제 가능
const mySet = new Set();
mySet.add('apple');
mySet.add('banana');
mySet.add('apple'); // 중복된 'apple'은 무시됨
console.log(mySet.has('banana')); // true
Map과 Set은 데이터 구조를 다양한 상황에서 관리하고 조작하는데 유용
특히 중복을 허용하지 않는 Set은 고유한 값을 유지해야 하는 경우에 유용하며, Map은 키-값 관계를 유지해야 하는 경우에 사용
Reference
반응형
'backend > JavaScript' 카테고리의 다른 글
| 자바스크립트 실행컨텍스트 (0) | 2023.10.20 |
|---|---|
| 자바스크립트 데이터 타입 심화 (1) | 2023.10.20 |
| 자바스크립트 일급객체 (0) | 2023.10.17 |
| 자바스크립트 ES6 (1) | 2023.10.17 |
| 자바스크립트 객체와 배열 (0) | 2023.10.16 |
