Study/JavaScript

[JS] reduce

taecongs 2023. 10. 17. 10:18

알고있으면 좋은 Javascript Tip✨


reduce() 

  • reduce 함수는 배열을 순회하면서 각 요소에 대해 콜백 함수를 실행시키고, 콜백 함수의 반환 값을 accumulator에 계속해서 누적시킨다. 그리고 순회가 완료되면 accumulator의 최종 값을 반환한다.

 

(1) reduce 함수 기본 문법

  • reduce 함수는 배열을 순회하면서 각 요소에 대해 콜백 함수를 실행시키고, 콜백 함수의 반환 값을 accumulator에 계속해서 누적시킨다. 그리고 순회가 완료되면 accumulator의 최종 값을 반환한다.
array.reduce(callback(accumulator, currentValue[, index[, array]] )[, initialValue])
  • array : recude를 적용할 배열
  • callback : 배열의 각 요소에 대해 실행할 콜백 함수. 콜백 함수는 다음 매개변수를 가진다.
    1. accumulator : 콜백 함수의 반환 값 또는 이전 순회에서의 최종 결과값. 초기 값(initialValue)이 제공된 경우 첫 번째 순회에서는 initialValue로 설정
    2. currentValue : 현재 순회 중인 배열의 요소
    3. currentIndex (옵션) : 현재 순회 중인 배열의 요소 인덱스
    4. array (옵션) : reduce 함수가 호출된 배열
  • initialValue (옵션) : 콜백 함수의 첫 번째 순회에서 accumulator로 사용될 초기 값. 초기 값이 제공되지 않으면 배열의 첫 번째 요소가 초기 값이 된다.

 

(2) reduce 함수 동작 과정

let total = [1, 2, 3, 4, 5].reduce(
  ( acc, cur ) => acc + cur, 0
);

acc + cur
 0  +  1 = 1
 1  +  2 = 3
 3  +  3 = 6
 6  +  4 = 10
 10 +  5 = 15

console.log(total) // 결과값: 15
  • 초기 값은 0에서 시작한다.
  • 배열의 마지막 요소까지 순회가 완료되면, reduce() 함수는 최종 acc 값을 반환한다.

'Study > JavaScript' 카테고리의 다른 글

[JS] toFixed  (0) 2023.10.19
[JS] padStart & padEnd  (0) 2023.10.17
[JS] call & apply & bind  (0) 2023.10.05
[JS] Set  (0) 2023.09.14
[JS] 이벤트 루프  (0) 2023.09.07