➡️ 배열의 각 요소를 순회하며 callback 함수의 실행 값을 누적해, 하나의 결과값을 반환한다.
arr.reduce( function(acc, cur, index, arr) {
} [, initialValue] )
1. callback 함수
아래의 4가지 인수를 가진다.
_callback 함수의 반환값은 accumulator에 할당되고 배열을 순회하며 계속 누적되어 최종적으로 하나의 값을 반환한다.
2. initialValue(Optional)
- acc의 초기값.
초기값을 제공하지 않을 경우 배열의 첫번째 요소를 사용하고, 빈 배열에서 초기값이 없을 경우 에러가 발생한다.
2개의 인자
예시
const numbers = [1, 2, 3, 4, 5];
return numbers.reduce((acc, cur) => acc + cur)); // 15
▶️ acc엔 첫번째 요소인 1이 할당되고, cur엔 나머지 요소인 2, 3, 4가 순차적으로 들어간다.
2개의 인자 + 1개의 초기값
예시
const numbers = [1, 2, 3, 4, 5];
return numbers.reduce((acc, cur) => acc + cur, 2)); // 12
▶️ acc는 index 2부터 누적되어 3이 할당되고, cur엔 나머지 요소인 4, 5가 순차적으로 들어간다.
4개의 인자 + 1개의 초기값