<목표>
1.맵과 셋
Map과 Set은 JavaScript의 ES6(ECMAScript 2015)에서 도입된 객체로, 데이터의 저장과 검색을 더 효율적으로 처리할 수 있게 해주는 컬렉션이다.
MAP
- Map 객체는 키-값 쌍으로 이루어진 컬렉션이다 객체와 비슷하지만, 보다 다양한 자료형을 키로 사용할 수 있으며, 삽입된 순서를 기억한다.
특징
- 다양한 키 사용 가능: Map의 키는 객체를 포함하여 모든 자료형이 될 수 있다.
- 삽입 순서 유지: 삽입된 순서대로 키를 열거할 수 있다.
- 키-값 쌍의 개수 확인: size 프로퍼티로 Map의 크기를 쉽게 알 수 있다.
주요 메서드
- new Map() : Map 객체를 생성
- set(key, value) : 주어진 키에 값을 설정
- get(key) : 주어진 키에 대한 값을 반환
- has(key) : 키가 존재하면 true, 그렇지 않으면 false를 반환
- delete(key) : 키에 해당하는 값을 삭제
- clear() : 모든 키-값 쌍을 제거한다
- keys() : 모든 키를 포함하는 Iterator 객체를 반환
- values() : 모든 값을 포함하는 Iterator 객체를 반환
- entries() : [key, value] 형태의 모든 엔트리를 포함하는 Iterator 객체를 반환
- forEach(callbackFn) : 각 요소에 대해 콜백 함수를 실행
// Map 생성
const map = new Map();
// 값 추가
map.set('name', 'Alice');
map.set('age', 25);
map.set('isStudent', true);
// 값 접근
console.log(map.get('name')); // "Alice"
// 키 존재 여부 확인
console.log(map.has('age')); // true
// 키-값 쌍 삭제
map.delete('isStudent');
// Map의 크기
console.log(map.size); // 2
// 모든 키와 값 순회
map.forEach((value, key) => {
console.log(key, value);
});
Set
- Set 객체는 유일한 값들의 컬렉션으로, 값의 중복을 허용하지 않습니다.
특징
- 중복된 값 없음: Set은 동일한 값을 중복해서 가질 수 없습니다.
- 삽입 순서 유지: 값이 삽입된 순서대로 열거됩니다.
주요 메서드
- new Set() : Set 객체를 생성
- add(value) : 값을 추가
- has(value) : 값이 존재하면 true, 그렇지 않으면 false를 반환
- delete(value) : 값을 삭제
- clear() : 모든 값을 제거
- size : Set의 크기를 반환
- values() : 모든 값을 포함하는 Iterator 객체를 반환
- entries() : [value, value] 형태의 모든 엔트리를 포함하는 Iterator 객체를 반환
- forEach(callbackFn) : 각 요소에 대해 콜백 함수를 실행
// Set 생성
const set = new Set();
// 값 추가
set.add(1);
set.add(5);
set.add(5); // 중복된 값 추가 시 무시
// 값 존재 여부 확인
console.log(set.has(1)); // true
console.log(set.has(3)); // false
// Set의 크기
console.log(set.size); // 2
// 값 삭제
set.delete(5);
// 모든 값 순회
set.forEach((value) => {
console.log(value);
});