JAVA공부

JavaScript의 Map 객체

ideas0123 2024. 11. 12. 23:31

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 객체는 유연하고 효율적으로 데이터를 저장하고 관리할 수 있는 방법을 제공합니다.