JavaScript
JS - Map() 과 Set()
김관장
2022. 3. 2. 22:46
1. Map( )
- 맵은 키-값 쌍을 저장한다는 점에서 객체와 유사하나, 다양한 자료형을 허용한다는 점에서 차이가 있다.
객체와의 차이점.
+) 객체는 기 값을 문자형으로 변환시키나, 맵은 키의 타입을 변환시키지 않음.
- 주요 메서드
- new Map() ㅡ 맵을 만들기.
- map.set(key, value) ㅡ key에 value 값 저장.
- map.get(key) ㅡ key에 해당하는 값 반환, 없는 경우 undefined 반환.
- map.has(key) ㅡ key가 존재하면 true, 존재하지 않으면 false 반환.
- map.deletel(key) ㅡ key 값 및 해당 값 삭제.
- map.clear() ㅡ map 전체 요소 삭제.
- map.size ㅡ 요소의 전체 개수 반환.
- map.forEach() ㅡ 맵의 모든 키-값 쌍에 대한 콜백함수 사용.
- map.keys() ㅡ 모든 키를 반복 가능한 객체로 반환.
- map.values() ㅡ 모든 값을 반복 가능한 객체로 반환.
- map.entries() ㅡ [키, 값] 을 한 쌍으로 반복 가능한 객체로 반환.
- Object.entires() ㅡ 키-값 쌍인 배열이나 반복가능한 객체(이터러블 객체)를 초기화 용도로 맵에 전달해 새로운 맵을 만들 수 있음.
2. Set( )
- 셋은 중복되는 값을 무시하는 특성을 갖고 있는 객체, 셋은 키가 없는 값이 저장된다.
- 주요 메서드
- new Set(iterable) ㅡ 셋을 만듬. 반복 가능한 객체(이터러블)를 받으면 그안의 값을 복사해 셋에 넣어줌.
- set.add(value) ㅡ 값을 추가하고 셋 자신을 반환.
- set.delete(value) ㅡ 값을 제거, 제거 성공 시 true, 실패 시 false 반환
- set.has(value) ㅡ 셋 내에 값이 존재하면 true, 아닐 시 false 반환
- set.clear() ㅡ 셋 요소 전체 삭제.
- set.size ㅡ 요소의 전체 개수 반환.
- set.keys() ㅡ 셋 내의 모든 값을 포함하는 이터러블 객체 반환.
- set.values() ㅡ set.keys()와 동일 기능, 맵과의 호환성을 위해 만들어짐.
- set.entries() ㅡ 셋 내에 각 값을 이용해 만든 [value, value] 배열을 포함하는 이터러블 객체 반환
출처 및 예시 확인: https://ko.javascript.info/map-set
맵과 셋
ko.javascript.info