[JavaScript] reduce()

해버니·2022년 10월 20일
0

JavaScript

목록 보기
2/5
post-thumbnail

reduce() 란?

배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.
(하나의 결과값으로 줄여줘서 reduce라는 이름을 쓴 것일까?)


리듀서 함수는 네 개의 인자를 가집니다.

누산기 (acc)
현재 값 (cur)
현재 인덱스 (idx)
원본 배열 (src)



예제 1

const arr = [1, 3, 5, 7];
const result = arr.reduce((acc, cur, idx) => { return acc += cur; }, 0);
console.log(result);  

// 16

예제 2

const numbers = [1, 3, 5, 7];

numbers.reduce((누산값, 현재요소값, 현재요소의index, 현재배열) => {
  return 다음누산값;
}, 초기누산값);



매개변수

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

accumulator
누산기는 콜백의 반환값을 누적합니다. 콜백의 이전 반환값 또는, 콜백의 첫 번째 호출이면서 initialValue를 제공한 경우에는 initialValue의 값입니다.

currentValue
처리할 현재 요소.

currentIndex Optional
처리할 현재 요소의 인덱스. initialValue를 제공한 경우 0, 아니면 1부터 시작합니다.

array Optional
reduce()를 호출한 배열.

initialValue Optional
callback의 최초 호출에서 첫 번째 인수에 제공하는 값. 초기값을 제공하지 않으면 배열의 첫 번째 요소를 사용합니다. 빈 배열에서 초기값 없이 reduce()를 호출하면 오류가 발생합니다.


반환값

누적 계산의 결과 값.






참고 : https://bigtop.tistory.com/69
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

0개의 댓글