Javascript & Typescript
[Javascript] reduce() method
zubetcha
2021. 11. 13. 09:51
reduce() method
reduce(function(accumulator, currentValue, currentIndex, array) {
return accumulator + currentValue;
}, initialValue);
// 애로우 함수를 사용할 수도 있음
reduce( (prev, curr) => prev + curr, initValue );
- 배열의 빈 요소를 제외한 각 요소에 리듀서(reducer) 함수를 실행하고, 하나의 누적 계산 결과값을 반환
- 리듀서 함수는 누산기(acc), 현재 값(curVal), 현재 인덱스(curIndex), 배열(arr) 네 개의 인자를 가짐
- accumulator 누산기: 콜백 함수의 반환값을 누적해줌
- currentValue : 현재 처리할 요소
- currentindex (optional) : 현재 처리할 요소의 인덱스
- array (optional) : 원본 배열
1) initialValue 를 제공하는 경우
- accumulator 는 initialValue 와 같음
- currentValue 는 배열의 인덱스 0 의 값과 같으며 0 번째부터 함수를 호출함
- 배열의 길이 만큼 reducer 함수를 호출
2) initialValue 를 제공하지 않는 경우
- accumulator 는 배열의 인덱스 0 의 값과 같으며, currentValue는 배열의 인덱스 1 의 값임