알고리즘
[JavaScript] .reduce()
H-JJOO
2023. 7. 4. 22:12
주어진 배열의 모든 요소에 대해 함수를 실행하고,
단일 결과 값(누적값)을 반환하는데 사용된다.
이 메소드는 배열 요소 각각에 대해 주어진 리듀서(reducer) 함수를 왼쪽에서 오른쪽으로 적용하며,
배열을 단일 값으로 줄인다.
[사용법]
arr.reduce(callback, initialValue);
- arr: 원본 배열
- callback: 배열의 각 요소에 대해 실행할 리듀서 함수를 제공
- callback에서 반환하는 값을 다음 누적값으로 사용합니다.
- 리듀서(reducer) 함수는 4개의 인수를 허용합니다.
- accumulator: 이전 반복에서 반환한 값 또는 initialValue
- currentValue: 현재 처리 중인 배열 요소
- currentIndex(옵션): 현재 처리 중인 배열 요소의 인덱스
- array(옵션): 메소드를 호출한 배열
- initialValue(옵션): accumulator의 초기값을 설정
[Ex]
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => {
return accumulator + currentValue;
}, 0);
console.log(sum); // 출력: 15
배열 numbers의 모든 요소의 합계를 구한다.
리듀서 함수는 각 요소의 합을 누적값과 함께 계산하며,
최종적으로 전체 합계를 반환한다.