STUDY/JavaScript
[JavaScript] Array.prototype.reduce() | 리듀서 함수
bottlesun
2022. 12. 2. 11:47
Array.prototype.reduce()
배열의 요소들을 하나의 결과 값을 반환합니다.
let arr =[ 1, 2, 3, 4 ];
console.log( arr.reduce((a,b) => a + b) ); // 10
console.log( arr.reduce((a,b) => a - b) ); // -8
리듀서 함수는 4개의 인자를 가진다.
- 누산기 (acc)
accumulator
- → 콜백의 반환 값을 누적한다. 콜백의 이전 반환 값은 initialValue 이다.
- 현재 값 (cur)
currentValue
- → 처리해야 할 요소 값.
- 현재 인덱스 (idx)
- → 처리해야 할 현재 요소의 인덱스. initialValue 를 제공한 경우 0, 아니면 1이다.
- 원본 배열 (src) array
- → reduce()를 호출한 배열이다.
반환 결과 값 → 누적 계산의 결과 값
[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array) {
return accumulator + currentValue;
});
리듀서 해당 매개변수를 받아서 동작하고 accumulator (누산기) 에 저장 되는 값은 return 된 전 단계의 값 혹은 초기 값이다.
728x90