본문 바로가기

JavaScript

[Javascript] reduce()함수

reduce()

reduce메서드는 배열의 각 요소를 순회하며 callback 함수의 실행값을 누적하여 하나의 결과값을 반환한다.

 

 

구문

arr.reduce(callback[, initialValue])

arr.reduce((누산값, 현재요소값, 현재요소의 index, 현재배열) => {

   return 다음 누산값;

}, 초기 누산값);

 

 

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

  1. 누산기 (acc)
  2. 현재 값 (cur)
  3. 현재 인덱스 (idx)
  4. 원본 배열 (src)

리듀서 함수의 반환 값은 누산기에 할당되고, 누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 된다.

 

var sum = [0, 1, 2, 3].reduce(function (accumulator, currentValue) {
  return accumulator + currentValue;
}, 0);
// sum is 6


<화살표함수>
var total = [ 0, 1, 2, 3 ].reduce(
  ( accumulator, currentValue ) => accumulator + currentValue,
  0
);

 

<참고>

reduce mdn

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

 

Array.prototype.reduce() - JavaScript | MDN

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

developer.mozilla.org

 

반응형