JavaScript의 Map 객체는 키-값 쌍을 저장하며, 삽입 순서대로 요소를 기억하는 컬렉션입니다. Map 객체를 사용하면 객체와 달리 모든 데이터 유형을 키로 사용할 수 있고, 반복문과 함께 유용하게 활용됩니다.
1. Map의 기본 사용법
// Map 생성
const map = new Map();
// 값 추가
map.set('name', 'John');
map.set('age', 30);
// 값 가져오기
console.log(map.get('name')); // 'John'
// 키가 존재하는지 확인
console.log(map.has('age')); // true
// 값 삭제
map.delete('name');
// 전체 요소 삭제
map.clear();
2. Map과 객체의 차이점
- 키의 유형: Map의 키는 객체나 함수 등 모든 데이터 유형이 될 수 있지만, 객체의 키는 문자열이나 심볼만 가능합니다.
- 키의 순서 보장: Map은 삽입 순서를 기억하므로, 반복할 때 추가된 순서대로 요소를 얻을 수 있습니다.
- 반복 기능: Map 객체는 직접적으로 반복이 가능하여 for...of 같은 반복문에서 쉽게 활용됩니다.
3. Map의 주요 메서드
- set(key, value): 키-값 쌍을 추가합니다. 같은 키로 값을 추가하면 기존 값을 덮어씁니다.
- get(key): 키에 해당하는 값을 가져옵니다.
- has(key): 키가 존재하는지 확인하여 true 또는 false를 반환합니다.
- delete(key): 키를 삭제합니다.
- clear(): 모든 요소를 제거합니다.
- size: 요소의 개수를 반환합니다.
4. Map의 반복
const map = new Map();
map.set('color', 'blue');
map.set('size', 'large');
// for...of 반복
for (let [key, value] of map) {
console.log(key, value);
}
// keys()와 values() 사용
for (let key of map.keys()) {
console.log(key);
}
for (let value of map.values()) {
console.log(value);
}
// entries() 메서드 사용
for (let [key, value] of map.entries()) {
console.log(key, value);
}
5. 객체에서 Map으로 변환
객체를 Map으로 변환하려면 Object.entries() 메서드를 활용할 수 있습니다.
const obj = { name: 'Alice', age: 25 }; const map = new Map(Object.entries(obj));
6. Map에서 객체로 변환
반대로 Map을 객체로 변환하려면 Object.fromEntries()를 사용합니다.
const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
const obj = Object.fromEntries(map);
console.log(obj); // { name: 'Alice', age: 25 }
JavaScript의 Map 객체는 유연하고 효율적으로 데이터를 저장하고 관리할 수 있는 방법을 제공합니다.
'JAVA공부' 카테고리의 다른 글
양꼬치_Math.floor / Math.trunc() (0) | 2024.11.14 |
---|---|
JavaScript에서 swap (1) | 2024.11.13 |
두 수의 나눗셈_Math.floor / Math.trunc() (0) | 2024.11.11 |
HashMap (1) | 2024.11.10 |
Meta Tags(메타 정보)_링크보낼 때 이미지와 제목, 설명이 같이 보임 (1) | 2024.11.09 |