[JAVASCRIPT] 모든 배열의 요소 더하기 – REDUCE()

devCecy·2022년 3월 22일
0

reduce()

reduce()는 배열을 다루는 메소드로 누적값(accumulator)과 현재값(currentValue)을 인자로 가지고 있다는 특징이 있다. 이러한 특징으로 배열을 여러가지로 요리(?)할 수 있도록 만든다.

가장 간단한 예시는 모든 배열의 요소를 더하는 것으로 reduce의 속성을 이해하기에 좋다.

arr.reduce(callback[, initialValue])

const reducer = (accumulator, currentValue) => accumulator + currentValue;


// 1 + 2 + 3 + 4
console.log(numbers.reduce(reducer)); // 10 => 배열의 원소 1,2,3,4를 모두 더한 값을 반환한다. 

// 5 + 1 + 2 + 3 + 4
console.log(numbers.reduce(reducer, 5)); // 15 => initialValue로 5를 지정해주었기 때문에 accumulator의 첫 값은 5가 되고 나머지 1,2,3,4를 더해 15를 반환한다. 
  1. reduce()는 배열의 각 요소에 콜백함수를 한번씩 실행한다.
  2. 콜백함수는 1) accumulator, 2) currentValue, 3) currentIndex, 4) array, 총 4개의 인자 값을 받는다.
  • accumulator는 콜백의 반환값을 누적한다.
  • initialValue가 있는 경우 첫 accumulator값은 initialValue이다.
  • currentValue 처리할 현재 요소.
  • currentIndex (옵션) 처리할 현재 요소의 인덱스. initialValue가 있으면 0, 없다면 1부터 시작한다.
  • array (옵션) reduce()를 호출한 배열.
  • initialValue (옵션) 콜백의 최초 호출에서 첫 번째 인수에 제공하는 값. initialValue가 없다면 배열의 첫번째 요소를 최초 호출에 사용한다.
profile
🌈그림으로 기록하는 개발자🌈

0개의 댓글