본문 바로가기

JavaScript

reduce() 사용법

reduce

* 배열의 각 요소에 대해 주어진 함수(=reducer)를 실행하고, 단 하나의 결과값을 반환함

* map, filter 등의 다양한 메서드를 구현

* 대부분 배열에 있는 인자들을 꺼내서 사용할때 forEach문을 사용한다.

   하지만 reduce를 알아두면 다양한 곳에서 사용할 수 있다.

 

arr.reduce((acc,cur,idx,src)->{
  return 결과
},초기값);

acc : 누적 값

cur : 현재 값

idx : 현재 인덱스(초기값을 제공하면 0, 아니면 1부터 시작)

src : reduce()를 호출한 배열

 

 

예제. 덧셈 (초기값 설정)

 

 input.reduce((acc, cur, idx) => {
    console.log(acc, cur, idx);
    return acc + cur;
  }, 0)

  //acc : 누적 결과
  //cur : 현재 값
  //idx : index


  <결과>
  0,1,0
  1,2,1
  3,3,2
  6,4,3

 

 

덧셈 (초기값 설정x)

  input.reduce((acc, cur, idx) => {
    console.log(acc, cur, idx);
    return acc + cur;
  })

  <결과>
  //초기값 설정하지 않으면 idx는 1부터 시작
  1,2,1
  3,3,2
  6,4,3

 

반응형