Reduce

내승현·2022년 5월 1일
0

reduce

누산기(accumulator) 및 배열의 각 값(좌에서 우로)에 대해 (누산된) 한 값으로 줄도록 함수를 적용한다.

  1. reduce 이 함수는 Array 객체의 프로토타입에 정의되어 있는 고차함수이다
  2. 가장 중요한 특징은 배열의 값을 한 개로 감소시키는 특징을 가지고 있다.
  3. map,filter,find 함수로 구할 수 있는 기능은 모두 reduce 함수로 구현 가능
  4. 두 번째의 매개변수인 initialValue를 통해서 반환 값을 자유롭게 지정하여 유연하게 상한다.

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

const arr = [1, 2, 3, 4, 5];
const newArr = arr.reduce(function(acc, v, i, arr) {
  return acc + v;
});
// 15

reduce의 가장 큰 특징으로는 첫번째 인자인 accumulator 이다. accumulator 는 return값을 누적하는데, 계속해서 전달받아서 사용할 수도 있다.

두번째 특징은 accumulator의 초기값을 설정할 수 있다는 점이다. optional하며 생략시에는 첫번째 return값이 된다. 아래 예시를 보자.

const arr = [1,2,3,4,5]
const newArr = arr.reduce(function(acc, v, i, arr) {
  return acc + v;
}, 100);
// 115

첫번째 예시와 다르게 초기값 때문에 115라는 값이 나오게 됬다. 어떻게 활용하느냐에 따라 reduce는 강력하고 확장성이 높다. accumulator의 값은 배열이 될수도 있고, object가 될수도 있다.

profile
아토언니의 프론트엔드 개발자로서의 기록

0개의 댓글