37. 세트와 맵

37.1 설정

Set 개체는 고유한 값의 고유한 집합입니다.


Set은 수학적 컬렉션을 구현하는 데 사용되는 데이터 구조입니다. 따라서 Set을 통해 교집합, 합집합, 차이, 보완을 실현할 수 있습니다.
그러나 Set 개체에는 순서가 의미가 없기 때문에 배열과 같은 인덱스가 없습니다.
따라서 for…of 문으로 순회할 수 있으며 확산 구문 및 배열 구조 분해를 사용할 수 있습니다.

37.2 지도

Map 개체는 키-값 쌍의 모음입니다. 지도 객체는 객체와 유사하지만 다음과 같은 차이점이 있습니다.


인수로 전달된 iterable은 키-값 쌍으로 구성된 요소를 포함해야 합니다.


Map 생성자에 인수로 전달된 iterable 객체에 중복 키가 있는 요소가 있으면 값을 덮어씁니다. 따라서 중복 키가 있는 요소는 Map 개체에 존재할 수 없습니다.


Map 개체의 요소를 반복하려면 Map.prototype.forEach 메서드를 사용합니다. Array.prototype.forEach 메소드와 유사하게 Map.prototype.forEach 메소드는 콜백 함수와 forEach 메소드의 콜백 함수에서 인수로 사용되는 객체(선택 사항)를 전달받습니다. 이 시점에서 콜백 함수는 다음 세 가지 매개 변수를 받습니다.

첫 번째 매개변수: 현재 순회 중인 요소의 값

두 번째 매개변수: 현재 순회하는 요소 키

세 번째 매개변수: 순회 중인 지도 객체


지도 객체는 반복 가능합니다. 따라서 for…of 문을 사용하여 순회할 수 있으며 구문 및 배열 구조 분해 할당을 확장할 수 있습니다.

– 알라딘 전자책에서 (저자: 이응모)