JavaScript 데이터 구조: Map과 Set의 효율적 활용 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
JavaScript 개발자, 특히 데이터 구조와 성능 최적화에 관심 있는 중급 이상 개발자
핵심 요약
- Map은 객체 타입의 키를 지원하며 삽입 순서를 유지하는 특징이 있다.
- Set은 중복되지 않은 유일한 값을 저장하고
.has()
메서드로 빠른 존재 여부 확인이 가능하다. Map.set()
,Map.get()
,Set.add()
,Set.has()
등의 핵심 API는 데이터 조작 시 필수적으로 사용된다.
섹션별 세부 요약
1. Map의 특징 및 사용 예시
Map
은 키로 문자열 외에도 숫자, 불린, 객체 등을 사용할 수 있다.- 삽입 순서를 유지하므로 순서 기반 데이터 처리에 유리하다.
- 예:
new Map([['key1', 'value1'], [123, 'value2']])
.set()
,.get()
,.delete()
메서드로 데이터를 동적으로 조작 가능하다.
2. Set의 특징 및 사용 예시
Set
은 중복 제거 기능으로 배열에서 중복 요소를 제거하는 데 유용하다..has()
메서드로 O(1) 시간 복잡도로 존재 여부 확인 가능.- 예:
new Set([1, 2, 2, 3])
→Set {1, 2, 3}
.add()
,.delete()
로 데이터 추가/삭제 가능하며,.clear()
로 전체 삭제 가능.
3. 실무 적용 팁
- Map은 키가 객체인 경우 정확한 참조 관리가 필요하다.
- Set은 유일성 검증이 필요한 경우(예: 이메일 중복 확인)에 효율적.
Array.from()
또는 전개 연산자([...set])
으로 Set을 배열로 변환 가능.
결론
Map
은 키 유연성과 순서 유지,Set
은 중복 제거와 빠른 존재 검사가 핵심 장점이다.- 데이터 처리 시 성능과 필요성에 따라 적절한 구조 선택이 중요하며,
.has()
와.set()
메서드는 필수적으로 활용해야 한다.