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 의 값임