● reduce( )
reduce()는 배열에 있는 반복 메서드의 일종으로, 배열의 요소들을 하나의 값으로 합칩니다. 초기 값이 없으면 배열의 첫 번째 요소가 초기 값이 됩니다.
형식
배열.reduce((<누적 값>, <현재 값>) => {
return <새로운 누적 값>;
}, <초기 값>);
복잡해 보이지만, 하나씩 살펴보면 그리 복잡하지 않습니다. 예를 들어, [1, 2, 3, 4, 5]라는 배열이 있을 때 다음과 같이 사용합니다.
[1, 2, 3, 4, 5].reduce((a, c) => {
return a + c;
}, 0); // 15
초기 값 0이 첫 번째 누적 값(a)이 되고, 배열의 첫 번째 요소가 현재 값(c)이 됩니다. a + c를 한 반환값은 다음 번 누적 값이 됩니다. 이런 식으로 배열의 마지막 요소까지 메서드가 반복해서 실행됩니다.