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

JavaScript Map.forEach() 메서드 – 맵의 모든 키-값 쌍 순회하기


JavaScript의 Map 객체가 제공하는 forEach() 메서드는 맵에 저장된 모든 키-값(key-value) 쌍을 삽입 순서대로 순회하면서, 각 요소마다 지정된 콜백 함수를 한 번씩 실행합니다. 이를 활용하면 별도의 반복문 없이도 맵의 전체 데이터를 간결하게 처리할 수 있습니다.

문법(Syntax)

forEach() 메서드의 기본 문법은 다음과 같습니다.

mapVar.forEach(callback[, thisArg])

콜백 함수에는 순회 과정에서 아래 세 가지 인자가 순서대로 전달됩니다.

  • value – 현재 순회 중인 요소의 값
  • key – 현재 순회 중인 요소의 키
  • map – 순회 대상이 되는 Map 객체 자신

두 번째 인자인 thisArg를 함께 전달하면, 콜백 함수 내부에서 this 키워드로 참조할 값을 직접 지정할 수 있습니다.

예제

다음은 forEach() 메서드를 사용해 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');

        // 각 요소의 값을 출력하는 콜백 함수
        function show(values) {
            document.write(values);
            document.write("<br>");
        }

        mapVar.forEach(show);
    </script>
</body>
</html>

실행 결과

Java
JavaFX
HBase
Neo4j

위 예제에서 콜백 함수 show()는 첫 번째 인자로 값(value)을 전달받아 화면에 출력합니다. 만약 키까지 함께 확인하고 싶다면, 콜백 함수를 function show(value, key)처럼 두 번째 매개변수를 포함해 선언하면 됩니다. 참고로 Map 객체는 요소가 추가된 순서를 그대로 유지하므로, forEach()로 순회할 때도 항상 삽입 순서대로 데이터가 처리됩니다.