무기/자바스크립트

<JavaScript> reduce() 메서드

디벅잉 2022. 1. 6. 22:38
728x90

 

🎯

 

{ reduce() 메서드 }

무엇인가요?

배열의 각 요소에 대해 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환하는 배열 고차 함수입니다.

 

어떻게 사용하나요?

const array1 = [1, 2, 3, 4];
const reducer = (previousValue, currentValue) => previousValue + currentValue;

// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer));  // 10

// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(reducer, 5));  // 15

reduce 메서드 구성: reduce(reducer, initialValue);

reducer 함수 구성: reducer = function (acc, cur, idx, src) { return 우리가 원하는 식을 정리 };

reducer 함수의 매개변수: acc(accumulator, 누산기), cur(currentValue, 현재값), idx(currentIndex, 현재 인덱스), src(array, 원본 배열)

reduce() 메서드 호출시 initialValue(초기값)를 제공하면 idx는 0부터 시작하고, 제공하지 않으면 idx는 1부터 시작합니다. 

reducer가 배열의 요소들을 순서대로 2개씩 지지고 볶아서 원하는 결과값을 얻을 수 있습니다.

 

왜 사용하나요?

1. 배열의 모든 값 합산

2. 객체 배열에서의 값 합산

3. 중첩 배열 펼치기

 

📌

 

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

 

Array.prototype.reduce() - JavaScript | MDN

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

developer.mozilla.org

 

728x90