Map 객체

Jtiiin:K·2023년 10월 23일
1
post-thumbnail

Map, Set 의 목적

데이터의 구성, 검색, 사용을 (기존의 객체 or 배열보다) 효율적으로 처리

Map

key / value
key에 어떤 데이터 타입도 다 들어올 수 있음
Map은 키가 정렬된 순서로 저장됨

생성 / 추가 / 검색

생성

const myMap = new Map();

추가
set() 메서드 사용

myMap.set('key', 'value');

검색
get() 메서드 사용

console.log(myMap.get('key')); // 'value' 출력

반복

keys(), values(), entries() 메소드를 사용하여 키, 값 및 키-값 쌍을 반복할 수 있음

  • for .. of 반복문은 ES6에 추가된 새로운 컬렉션 전용 반복 구문, 이를 사용하기 위해선 컬렉션 객체가 [Symbol.iterator] 속성을 가지고 있어야 함
  • iterator : 반복자라는 말로 요소 하나하나 반복할 수 있도록 배열 또는 객체와 비슷한 형태로 열거되어 있는 자료구조
    (myMap.keys()로 쓸 수 있는 이유는 myMap.key()가 반환하는 값이 iterator이기 때문)
var iterable = [10, 20, 30];

for (var value of iterable) {
  console.log(value);// 10, 20, 30
}
const myMap = new Map();
myMap.set('one', 1);
myMap.set('two', 2);
myMap.set('three', 3);

for (const key of myMap.keys()) {
  console.log(key); // one two three
}

for (const value of myMap.values()) {
  console.log(value); // 1 2 3 
}

for (const entry of myMap.entries()) {
  console.log(`${entry[0]}: ${entry[1]}`); // one: 1 two: 2 three: 3
} 

값 존재여부 / 개수 확인

존재여부
has() 메서드 사용

console.log(myMap.has('two')); // true

크기
size() 메서드 사용

console.log(myMap.size); // 3 
profile
호기심 많은 귀차니즘의 공부 일기

0개의 댓글