[JavaScript STUDY] reduce( ) 메서드

JooSehyun·2023년 4월 24일
0

[Study]

목록 보기
21/31
post-thumbnail

[JavaScript STUDY]

reduce( ) 메서드


Array.prototype.reduce()

reduce( ) 메서드

URL : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서 (reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.

리듀서 함수는 네 개의 인자를 가집니다.
1. 누산기 (accumulator) (acc)
2. 현재 값 (cur)
3. 현재 인덱스 (idx)
4. 원본 배열 (src)

리듀서 함수의 반환 값은 누산기에 할당되고, 누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 된다.

구문 arr.reduce(callback[, initialValue]

const array1 = [1, 2, 3, 4];

// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
const sumWithInitial = array1.reduce(
  (accumulator, currentValue) => accumulator + currentValue,
  initialValue
);

console.log(sumWithInitial);
// Expected output: 10
  • reduce ( "callback" , "initalValue") 안에는 callback 과 initalValue가 들어간다.

예제

console.log([1,2,3].reduce((acc , cur) => acc + cur));

= 6
  1. acc = 1 / cur = 2 👉 1 + 2 = 3 👉 acc 에 들어가서 3이 되고
  2. acc = 3 / cur = 3 👉 3 + 3 = 6

예제

console.log([1,2,3].reduce((acc , cur) => acc + cur, 10));  👨🏻‍💻10은 initialValue값이다.

= 16
  1. initialValue(10) => acc = 10 / cur = 1 👉 10 + 1 = 11 👉 acc 에 들어가서 11이 되고
  2. acc = 11 / cur = 2 👉 11 + 2 = 13
  3. acc = 13 / cur = 3 👉 13 + 3 = 16

0개의 댓글