forEach는 인수로 받은 함수를 배열의 요소별로 한 번씩 실행한다.
그 함수에 인수 세 개(value, index, array)가 전달된다.
반복 함수 대부분은 첫 번째 인수로 함수를 받으며, 이 함수에는 다음 인수 세 개가 전달된다. 인수 세 개 중에서 첫 번째 인수만 사용하는 경우가 많으며, 그런 경우에는 두 번째 인수와 세 번째 인수를 생략할 수 있다.
const arr = ["가", "나", "다", "라"];
arr.forEach(function (item, index, array) {
console.log(item, index, array[index + 1]);
});
// 첫번째 인수는 배열의 각각 item
// 두번째는 배열의 index
// 세번째는 배열
// 가 0 나
// 나 1 다
// 다 2 라
// 라 3 undefined
다음은 배열의 합과 각 제곱을 구하는 코드다.
var a = [1, 2, 3, 4, 5];
var sum = 0;
a.forEach(function (value) {
sum += value;
});
console.log(sum);
// 15 배열의 합을 구한다.
a.forEach(function (v, i, b) {
b[i] = v * v;
});
console.log(a);
// [ 1, 4, 9, 16, 25 ] 각 배열 요소의 제곱
배열의 합이나 제곱을 반복적으로 계산해 준다.
이처럼 forEach 메서드를 사용하여, 함수형 프로그래밍 기법을 사용할 때 for 문 대신 사용이 가능하다.