reduce 메서드 정리

윤영훈·2021년 2월 24일
0

reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다. - 출처 MDN

구문

arr.reduce(callback[, initialValue])

callback : 배열의 각 요소에 대해 실행할 함수이며, 다음 네가지 인수를 받습니다.

  • accumulator : 콜백의 반환값을 누적합니다.
  • currentValue : 처리할 현재 요소.
  • currentIndex (optional) : 처리할 현재 요소의 인덱스, initialValue를 제공한 경우 0, 아니면 1부터 시작합니다.
  • array (optional) : reduce()를 호출한 배열

iniitalValue : callback의 최초 호출에서 첫번째 인수에 제공하는 값, 제공하지 않으면 배열의 첫번째 요소를 사용합니다.

콜백의 최초 호출 때 accumulator와 currentValue는 다음 두 가지 값 중 하나를 가집니다.

  1. reduce() 함수 호출에서 initialValue를 제공한 경우, accumulator === initialValue 이고 currentValue는 배열의 첫번째 값과 같습니다.

  2. initialValue를 제공하지 않은 경우, accumulator는 배열의 첫번째 값과 같고 currentValue는 두번째와 같습니다.

참고: initialValue를 제공하지 않으면, reduce()는 인덱스 1부터 시작해 콜백 함수를 실행하고 첫번째 인덱스는 건너 뜁니다.
initialValue를 제공하면 인덱스 0에서 시작합니다.

0개의 댓글