MDN에는 인자 설명을 이렇게 해놓았다.
리듀서 함수는 네 개의 인자를 가집니다.
누산기 (acc),현재 값 (cur),현재 인덱스 (idx),원본 배열 (src)
->리듀서 함수의 반환 값은 누산기에 할당되고, 누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 됩니다.
(활용 예제)
팩토리얼을 reduce로도 풀 수 있다.
const array1 = [1, 2, 3, 4];
// 1 * 2 * 3 * 4 = 4!
const init = 1;
const sumWithInit = array1.reduce(
(p, c) => p * c,
init
);
console.log(sumWithInit);
//24
(세번째 인자 index까지 포함한 예제)
1부터 10까지 더하기->1부터 n까지 더하기로 발전 가능
const answer=new Array(10).fill(1).reduce((acc,cur,i)=>{
return acc+cur+i
},0);