reduce는 배열을 하나의 값으로 만들어준다. 그 과정은 다음과 같다.
reduce는 초기값(initial value)을 설정할 수 있는데, 이 초기값을 설정해주지 않으면 배열의 0번째 인덱스가 초기값으로 등록이 된다. 이 초기값은 누적값(accumulator)의 기반이 된다. 그 다음 요소부터 현재값
(current value)이 되는데, 이 둘은 우리가 원하는 행동(식)에 의하여 누적값에 저장이 되고, 배열의 마지막까지 반복하게 된다. 그리고 마지막엔 누적값을 반환하게 된다.
코드로 표현하면 다음과 같다.
const arr = [1, 2, 3];
const result = arr.reduce(function(acc, cur, idx) {
acc + cur;
return acc;
});
console.log(result) // 6;
reduce의 가장 기본적인 형태는 누적 덧셈이지만, 문자열에서도 활용이 가능하다.