reduce 메소드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환한다.
이 메소드는 배열 내의 숫자를 합산하는 것부터,
배열 내 객체의 값들을 결합하는 데까지 다양한 용도로 사용될 수 있다.
기본 형태
arr.reduce(callback( accumulator, currentValue, currentIndex, array ), initialValue)
callback: 배열의 각 요소에 대해 실행할 함수
이 함수는 네 개의 인자를 받는다.accumulator: 누산기. callback의 반환값이 누적
initialValue를 제공한 경우, 그 값에서 누산이 시작된다.
제공하지 않은 경우 배열의 첫 번째 요소가 초기값currentValue: 처리할 현재 요소
currentIndex (Optional): 처리할 현재 요소의 인덱스
initialValue를 제공한 경우 0부터 시작하고, 그렇지 않은 경우 1부터 시작array (Optional): reduce를 호출한 배열
initialValue (Optional): accumulator의 초기값.
이 값을 제공하지 않으면 배열의 첫 번째 요소를 초기값으로 사용한다.
배열이 비어있고 initialValue가 없는 경우 TypeError가 발생
reduce 메소드의 사용 예시
const array = [1, 2, 3, 4]; const sum = array.reduce((accumulator, currentValue) => accumulator + currentValue, 0); console.log(sum); // 결과: 10
accumulator는 누적 합계를 유지하며,
currentValue는 배열의 각 요소를 차례대로 나타낸다.초기값 0으로 시작해서 배열의 모든 요소를 합산한다.