리듀스는 초기값과 누산값을 이용하여 지속적으로 값을 더하는 누산기와 비슷한 역할을 하는 메소드 이다.
arr.reduce(callback[, initialValue])
reduce는 배열에 사용이 가능하다 또한 콜백함수로 사용해야 하며 콜백 함수 다음으로 숫자나 어떠한 값들을 넣어주게 되면 초기값으로 세팅이 된다.
초기값이 없는 경우
[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array) {
return accumulator + currentValue;
}); //최종 반환 값 10
초기값이 있는 경우
[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array) {
return accumulator + currentValue;
}, 10); //최종 반환 값 20