Original article: JavaScript forEach – How to Loop Through an Array in JS

JavaScript의 forEach 메서드는 배열을 순회하는 여러 방법 중 하나입니다. 사용자는 실행하는 작업에 따라 각각의 특징을 고려하여 어떤 메서드를 사용할지 결정해야 합니다.

이 기사에서는 JavaScript의 forEach 메서드를 자세히 살펴보겠습니다.

다음과 같은 숫자 배열이 있습니다.

const numbers = [1, 2, 3, 4, 5];

기존의 for 반복문을 사용해 배열을 순회하는 방법은 다음과 같습니다.

for (i = 0; i < numbers.length; i++) {
  console.log(numbers[i]);
} 

forEach 메서드는 어떻게 다른가요?

forEach 메서드도 배열을 순회하기 위해 사용되지만, 기본적인 for 반복문과는 다른 방식으로 함수를 사용합니다.

forEach 메서드는 다음 매개변수(parameter)와 함께 배열의 각 요소에 적용하게 될 콜백 함수(callback function)를 전달합니다.

  • Current Value (명명된 매개변수) - 처리할 현재 요소
  • Index (선택적 매개변수) - 처리할 현재 요소의 인덱스
  • Array (선택적 매개변수) - forEach 메서드를 호출한 배열

주어진 매개변수를 하나씩 설명하겠습니다.

우선 forEach 메서드를 사용해 배열을 순회하려면 콜백 함수 또는 익명 함수가 필요합니다.

numbers.forEach(function() {
    // code
});

콜백 함수는 각 요소에 대해 실행되며, 배열의 요소를 나타내는 매개변수를 반드시 하나 이상 사용해야 합니다.

numbers.forEach(function(number) {
    console.log(number);
});

그럼 배열을 순회해볼까요?

배열 순회하면서 1에서 5 숫자를 출력한다

ES6 화살표 함수 표현을 사용하면 코드를 단순화할 수 있습니다.

화살표 함수 표현 예시:

numbers.forEach(number => console.log(number));

선택적 매개변수

인덱스(Index)

이어서 선택적 매개변수에 대해 알아봅시다.

첫 번째 선택적 매개변수는 각 요소의 순서를 나타내는 인덱스입니다.

즉 두 개의 매개변수를 활용하여 메서드를 사용하면 두 번째 매개변수를 통해 요소의 인덱스를 확인할 수 있습니다.

numbers.forEach((number, index) => {
    console.log('Index: ' + index + ' Value: ' + number);
});

배열 순회하면서 인덱스와 주어진 값을 출력한다

배열(Array)

배열 매개변수는 필요에 따라 다양하게 활용할 수 있는 선택적 매개변수로, 원본 배열 그 자체입니다. 단순히 호출하기만 하면 배열의 요소 수만큼 배열이 출력되는 것을 볼 수 있습니다.

numbers.forEach((number, index, array) => {
    console.log(array);
});

배열을 순회하면서 요소 값을 매번 출력한다

다음 영상에서는 forEach 메서드의 활용 사례를 볼 수 있습니다 (주석: 원문 글쓴이의 영상이기 때문에 내용은 영어로 되어있습니다).

브라우저 지원

Array.forEach 메서드는 IE 버전 8 이하를 제외한 모든 브라우저에서 지원됩니다.

caniuse.com 웹사이트 스크린샷
caniuse.com

유튜브 채널에서 웹 개발에 대해 더 자세한 내용을 확인해보세요.

읽어주셔서 감사합니다.