Dev/JavaScript

[JavaScript] reduce 사용법

ujam 2022. 10. 22. 13:51
728x90
반응형

javascript에서의 reduce는 배열 내 각각 요소를 순회하여 callback 함수의 실행 값을 누적하여 최종 결과값을 반환해주는 메서드입니다.

 

 

arr.reduce(callback[, initialValue])

 

Parameter

1. callback: 배열의 각 요소에 대해 실행할 함수입니다.

  • 4가지의 인수를 받습니다
    • accumulator - 콜백함수의 반환값을 누적합니다.
    • currentValue - 배열에서의 현재 요소
    • index(Optional) - 배열에서의 현재 요소의 인덱스
    • array(Optional) - 호출한 배열

2. initialValue(Optional): callback의 최초 호출에서 첫 번째 인수에 제공하는 값입니다.

 

 

 

 

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

const sum = numbers.reduce((acc, cur) => acc + cur);

console.log('sum =', sum);
//12

위와 같이 reduce를 사용하여 배열내의 요소들을 어떠한 연산을 실행하여 나온 값을 누적하여 하나의 값으로 반환시켜줍니다.

 

 

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

const sumFunction = (acc, crr) => {
	return acc + curr;
}

const sum = numbers.reduce(sumFunction);

console.log('sum =', sum);
//12

이런식으로 callback 함수를 따로 빼서 선언한 후에 사용할 수도 있습니다.

 

 

 

 

 

reduce도 javascript에서 자주 사용되는 메서드라는 것을 들었었는데

사용 의도를 파악하니 확실히 자주 사용할 메서드 중 하나라는 생각이 들었습니다.

 

예를들어 count값을 구하려는 목적이 있다면 for문이나 map을 사용하지도 않고, 별도로 변수를 선언하지 않고도 결과값을 출력할 수 있기 때문에 코드도 깔끔해지며 간결해질 거 같습니다.

 

 

 

 

728x90
반응형

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

[JavaScript] Object.keys 사용법  (0) 2022.12.08
Moment.js를 Day.js로 대체하자  (0) 2022.12.04
[JavaScript] map 사용법  (0) 2022.09.24
[JavaScript] filter 사용법  (0) 2022.07.29
[JavaScript] ES2022 추가된 기능 살펴보기  (0) 2022.07.11