자바스크립트 reduce()
reduce()
배열의 각 요소를 순회하면서 하나의 결과값을 만들어내는 함수에요.
값들을 누적하거나, 배열을 객체, 숫자, 다른 배열 등으로 변환할 때 자주 사용해요.
매개값
array.reduce( 콜백함수, 초기값(선택) )
콜백함수 매개값
function callback(accumulator, currentValue, currentIndex, array) { ... }
- accumulator: 누적값. 이전 콜백 반환값을 기억함.
- currentValue: 현재 처리 중인 요소.
- currentIndex: 현재 요소의 인덱스.
- array: reduce를 호출한 배열.
예시
배열의 합
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, cur) => acc + cur, 0);
console.log(sum); // 출력: 15
- acc: 누적 합계
- cur: 현재 요소
- 0: 초깃값
요약
목적 | 배열을 하나의 값으로 축약 |
주로 사용하는 경우 | 합계, 곱셈, 객체 변환, 그룹핑, 통계 계산 |
초깃값 | 명시하는 것이 권장됨 |
반환값 | 누적 결과값 |