JavaScript - Map 순회, 3가지 방법

Map의 모든 요소(key-value)를 순회하는 방법을 소개합니다.

1. forEach()로 Map의 모든 요소 순회

다음과 같이 forEach로 Map의 key-value 요소를 순회할 수 있습니다. 기본적으로 화살표 함수를 사용하여 아래와 같이 구현할 수 있습니다.

let myMap = new Map([
  ['c', 2],
  ['a', 4],
  ['d', 1],
  ['b', 3],
]);

myMap.forEach((value, key) => {
  console.log("key: " + key + ", value: " + value);
});

Output:

key: c, value: 2
key: a, value: 4
key: d, value: 1
key: b, value: 3

2. for...of 로 Map의 모든 요소 순회

for (const [key, value] of map)은 map의 모든 요소를 for문으로 순회하며, 반복문 안에서 key와 value 변수로 요소에 접근할 수 있습니다.

let myMap = new Map([
  ['c', 2],
  ['a', 4],
  ['d', 1],
  ['b', 3],
]);

for (const [key, value] of myMap) {
  console.log("key: " + key + ", value: " + value);
}

Output:

key: c, value: 2
key: a, value: 4
key: d, value: 1
key: b, value: 3

3. keys(), values()로 Map의 모든 요소 순회

keys()는 모든 key를 배열로 리턴하며, values()는 모든 value를 배열로 리턴합니다.

아래와 같이 Map의 key 또는 value를 순회할 수 있습니다.

let myMap = new Map([
  ['c', 2],
  ['a', 4],
  ['d', 1],
  ['b', 3],
]);

console.log("keys:");
for (const key of myMap.keys()) {
  console.log(key);
}

console.log("values:");
for (const value of myMap.values()) {
  console.log(value);
}

Output:

keys:
c
a
d
b
values:
2
4
1
3
Loading script...
codechachaCopyright ©2019 codechacha