[Javascript] Array.reduce (Javascript 제대로 알고 쓰자) - 6

강준혁·2020년 12월 4일
0

배열 내의 데이터를 다루는 방법은 forEach, for, for.. of 등등 여러가지가 있다.
이번에는 for 구문이 아닌 reduce 라는 Array 객체의 내장 메서드를 활용하는 방법에 대해 알아보고자 한다.

Array.reduce

reduce의 인터페이스는 다음과 같다.

let value = arr.reduce(function(accumulator, item, index, array) {}, [initial])
  • accumulator : 이전 함수의 호출 결과
  • item : 현재 배열의 요소
  • index : 요소의 위치
  • array : 배열
  • initial : 함수 최초 호출 시 사용되는 초기값(옵션).

이를 간단히 활용해 보면,

let arr = [1, 2, 3];

let result = arr.reduce((sum, current) => sum + current, 0);

console.log(result); // 6

이런식으로 누적된 합을 구할 수 있다.

위 코드의 실행 원리는 다음과 같다.

  1. 최초 호출 시, sum 에는 reduce의 마지막 인수인 0이, current 에는 배열의 첫번째 요소인 1이 할당됨. 따라서 함수의 결과는 1.
  2. 두번째 호출 시, sum = 1, current = 2 이므로 결과는 3.
  3. 세번째 호출 시, sum = 3, current = 3 이므로 결과는 6.
profile
백엔드 개발자

0개의 댓글