Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript Map.entries() 함수 완벽 가이드 – 키-값 쌍 순회 방법

JavaScript의 Map 객체에서 제공하는 entries() 함수는 해당 Map 객체의 이터레이터(iterator)를 반환합니다. 이 이터레이터를 활용하면 Map에 저장된 키(key)와 값(value) 쌍을 하나씩 순차적으로 꺼내올 수 있습니다.

각 항목은 [키, 값] 형태의 배열로 반환되며, next() 메서드를 호출할 때마다 다음 항목으로 이동합니다.

문법(Syntax)

mapVar.entries()

예제 1: for 반복문으로 전체 키-값 쌍 출력하기

아래 예제는 entries()로 얻은 이터레이터를 반복문과 함께 사용하여 Map의 모든 요소를 출력하는 코드입니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var mapVar = new Map();
      mapVar.set('1', 'Java');
      mapVar.set('2', 'JavaFX');
      mapVar.set('3', 'HBase');
      mapVar.set('4', 'Neo4j');
      var it = mapVar.entries();
      for(i=0; i<mapVar.size; i++) {
         document.write(it.next().value);
         document.write(" <p> ");
      }
   </script>
</body>
</html>

실행 결과

1,Java

2,JavaFX

3,HBase

4,Neo4j

위 결과에서 볼 수 있듯이, 각 항목은 [키, 값] 배열 형태로 출력됩니다. it.next().value는 이터레이터의 다음 항목을 가져오고, 그 안에 담긴 [키, 값] 배열을 반환합니다.

예제 2: next() 메서드로 개별 항목 접근하기

반복문 없이 next() 메서드를 직접 호출하면 원하는 시점에 항목을 하나씩 가져올 수 있습니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var mapVar = new Map();
      mapVar.set('1', 'Raju');
      mapVar.set('2', 'Ram');
      mapVar.set('3', 'Rahim');
      mapVar.set('4', 'Robert');
      var it = mapVar.entries();
      document.write(it.next().value);
      document.write("<br>");
      document.write(it.next().value);
   </script>
</body>
</html>

실행 결과

1,Raju
2,Ram

정리 및 참고 사항

  • entries()는 Map의 삽입 순서대로 키-값 쌍을 순회하는 이터레이터를 반환합니다.
  • 각 항목은 [키, 값] 형태의 배열이므로, 구조 분해 할당(destructuring)으로 const [key, value] of map.entries()처럼 사용할 수도 있습니다.
  • Map 자체가 이터러블(iterable)이기 때문에 for...of 문에 Map을 직접 넣으면 entries()와 동일한 동작을 합니다.
  • 키만 필요하다면 keys(), 값만 필요하다면 values() 메서드를 사용하는 것이 더 효율적입니다.