reduce

CashCash·2020년 11월 28일
1

javascript

목록 보기
2/12

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

arr.reduce(callback[, initialValue])

redece()는 빈 요소를 제외하고 배열 내에 존재하는 각 요소에 대해 callback 함수를 한 번씩 실행하는데, 콜백 함수는 다음의 네 인수를 받는다.
1. accmulator
2. currentValue
3. currentIndex
4. array

콜백이 최초 호출될 때, accmulator와 currentValue는 값을 가지는데
1. 만약 reduce() 함수 호출에서 initialValue를 제공한 경우, accmulator는 initialValue와 같고 currentValue는 배열의 첫 번째 값과 같다.
2. initialValue를 제공하지 않은 경우, accumulator는 배열의 첫 번째 값과 같고 currentValue는 두 번째와 같다.

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

배열이 비어있는데 initialValue를 제공하지 않으면, TypeError가 발생한다.

ex)

var flattened = [[0, 1], [2, 3], [4, 5]].reduce(
  ( accumulator, currentValue ) => accumulator.concat(currentValue),
  []
);

참고:링크텍스트

profile
studying frontend

0개의 댓글