본문 바로가기
STUDY/JavaScript

[JavaScript] Array.prototype.reduce() | 리듀서 함수

by bottlesun 2022. 12. 2.
728x90

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개의 인자를 가진다.

  1. 누산기 (acc) accumulator
  2. → 콜백의 반환 값을 누적한다. 콜백의 이전 반환 값은 initialValue 이다.
  3. 현재 값 (cur) currentValue
  4. → 처리해야 할 요소 값.
  5. 현재 인덱스 (idx)
  6. → 처리해야 할 현재 요소의 인덱스. initialValue 를 제공한 경우 0, 아니면 1이다.
  7. 원본 배열 (src) array
  8. → reduce()를 호출한 배열이다.

반환 결과 값 → 누적 계산의 결과 값

[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array) {
  return accumulator + currentValue;
});

리듀서 해당 매개변수를 받아서 동작하고 accumulator (누산기) 에 저장 되는 값은 return 된 전 단계의 값 혹은 초기 값이다.

728x90

댓글