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 |