목적 : 배열의 각 요소에 대해 리듀서 함수를 실행하여 하나의 결과값을 반환
사용법 : Array.reduce(콜백 함수[, 초기값])
초기값이 없다면 누산기에는 배열의 인덱스 0번째 요소가 들어가고, 현재 인덱스는 1부터 시작
리듀서 함수
매개변수 : 누산기, 현재값 (, 현재 인덱스, 배열)
반환 : 누산기(누적값) + 현재값
const nums = [1, 2, 3, 4, 5];
초기값이 없는 경우
let result = nums.reduce((pre, curr) => pre + curr);
console.log(result); // 15
/*
콜백 함수 1번째 호출 : 1(인덱스 0번째) + 2(인덱스 1번째) = 3
콜백 함수 2번째 호출 : 3 + 3 = 6
콜백 함수 3번째 호출 : 6 + 4 = 10
콜백 함수 4번째 호출 : 10 + 5 = 15
*/
초기값이 있는 경우
result = nums.reduce((pre, curr) => pre + curr, 100);
console.log(result); // 115
/*
콜백 함수 1번째 호출 : 100(초기값) + 1(인덱스 0번째) = 101
콜백 함수 2번째 호출 : 101 + 2 = 103
콜백 함수 3번째 호출 : 103 + 3 = 106
콜백 함수 4번째 호출 : 106 + 4 = 110
콜백 함수 5번째 호출 : 110 + 5 = 115
*/