배열의 각 요소를 순회하며 callback함수의 실행 값을 누적하여 하나의 결과값을 반환
arr.reduce(callback[, initialValue])
- callback function
- initialValue
callback의 최초 호출에서 첫 번째 인수에 제공하는 값. 초기값을 제공하지 않으면 배열의 첫 번째 요소를 사용. 빈 배열에서 초기값 없이 reduce()를 호출하면 오류가 발생합니다.
반환 값
배열을 순서대로 불러 각 요소에 대해 callback 함수을 실행한 결과를 누적한 값
배열의 모든 요소를 한번에 계산하는 것은 아니고, 두개의 요소를 계산하고, 그 결과를 다음 요소와 함께 계산하고, 그 결과는 다음 요소와 계산하는 방식으로 연산을 분할해서, 점진적으로 계산
(0+1)
(1+2)
(3+3)
(6+4)
10
-> 초기값이 없기 때문에 0부터 시작한다.
초기값이 10이기 때문에 10부터 계산
reduce() => 20을 반환한다.
참조
https://codechacha.com/ko/javascript-array-reduce/
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce