reduce

jplendor·2022년 5월 8일
0
post-thumbnail

목적 : 배열의 각 요소에 대해 리듀서 함수를 실행하여 하나의 결과값을 반환
사용법 : Array.reduce(콜백 함수[, 초기값])

  • 초기값이 없다면 누산기에는 배열의 인덱스 0번째 요소가 들어가고, 현재 인덱스는 1부터 시작

  • 리듀서 함수
    매개변수 : 누산기, 현재값 (, 현재 인덱스, 배열)
    반환 : 누산기(누적값) + 현재값

const nums = [1, 2, 3, 4, 5];

초기값이 없는 경우

let result = nums.reduce((pre, curr) => pre + curr);

console.log(result); // 15

/* 
콜백 함수 1번째 호출 : 1(인덱스 0번째) + 2(인덱스 1번째) = 3
콜백 함수 2번째 호출 : 3 + 3 = 6
콜백 함수 3번째 호출 : 6 + 4 = 10
콜백 함수 4번째 호출 : 10 + 5 = 15
 */

초기값이 있는 경우

result = nums.reduce((pre, curr) => pre + curr, 100);

console.log(result); // 115

/* 
콜백 함수 1번째 호출 : 100(초기값) + 1(인덱스 0번째) = 101
콜백 함수 2번째 호출 : 101 + 2 = 103
콜백 함수 3번째 호출 : 103 + 3 = 106
콜백 함수 4번째 호출 : 106 + 4 = 110
콜백 함수 5번째 호출 : 110 + 5 = 115
 */
profile
만들기는 재밌어!

0개의 댓글