더북(TheBook)

reduce( )

reduce()는 배열에 있는 반복 메서드의 일종으로, 배열의 요소들을 하나의 값으로 합칩니다. 초기 값이 없으면 배열의 첫 번째 요소가 초기 값이 됩니다.

형식

배열.reduce((<누적 값>, <현재 값>) => {
  return <새로운 누적 값>;
}, <초기 값>);

복잡해 보이지만, 하나씩 살펴보면 그리 복잡하지 않습니다. 예를 들어, [1, 2, 3, 4, 5]라는 배열이 있을 때 다음과 같이 사용합니다.

[1, 2, 3, 4, 5].reduce((a, c) => {
  return a + c;
}, 0); // 15

초기 값 0이 첫 번째 누적 값(a)이 되고, 배열의 첫 번째 요소가 현재 값(c)이 됩니다. a + c를 한 반환값은 다음 번 누적 값이 됩니다. 이런 식으로 배열의 마지막 요소까지 메서드가 반복해서 실행됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.