forEach() 메서드는
배열을 순회하는 여러 방법 중 하나입니다.
아래와 같은 숫자 배열이 있습니다.
const numbers = [1, 2, 3, 4, 5, 6];
for문을 통해서 배열을 순회하는 방식은 아래와 같습니다.
for ( i = 0; i < numbers.length; i++) {
console.log(numbers[i]);
}
그렇다면 forEach 메서드는?
배열을 순회하기 위해 사용되지만, 기본적인 for 반복문과는 다른 방식으로 함수를 사용합니다.
forEach 메서드는 다음 매개변수(parameter)와 함께 배열의 각 요소에 적용하게 될 콜백 함수(callback function)를 전달합니다.
- Current Value (명명된 매개변수) - 처리할 현재 요소
- Index (선택적 매개변수) - 처리할 현재 요소의 인덱스
- Array (선택적 매개변수) - forEach 메서드를 호출한 배열
우선 forEach 메서드를 사용해 배열을 순회하려면 콜백 함수 또는 익명 함수가 필요합니다.
numbers.forEach(function() {
// code
});
콜백 함수는 각 요소에 대해 실행되며, 배열의 요소를 나타내는 매개변수를 반드시 하나 이상 사용해야 합니다.
numbers.forEach(function(number) {
console.log(number);
});
첫 번째 선택적 매개변수는 각 요소의 순서를 나타내는 인덱스입니다.
즉 두 개의 매개변수를 활용하여 메서드를 사용하면 두 번째 매개변수를 통해 요소의 인덱스를 확인할 수 있습니다.
numbers.forEach((number, index) => {
console.log('Index: ' + index + ' Value: ' + number);
});
배열(Array)
배열 매개변수는 필요에 따라 다양하게 활용할 수 있는 선택적 매개변수로, 원본 배열 그 자체입니다. 단순히 호출하기만 하면 배열의 요소 수만큼 배열이 출력되는 것을 볼 수 있습니다.
numbers.forEach((number, index, array) => {
console.log(array);
});