
array.reduce(callback, initialValue);
callback: 각 배열 요소에 대해 실행할 함수callback 함수는 4개의 인자를 가진다.reduce가 호출된 원본 배열(선택 사항)initialValue: accumulator의 초기값. 생략하면 배열의 첫 번째 요소가 초기값으로 사용된다. (사용 권장)callback을 호출하면서 누적값을 업데이트한다.const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => {
return accumulator + currentValue;
}, 0);
console.log(sum); // 15
// 0 + 1 = 1
// 1 + 2 = 3
// 3 + 3 = 6
// 6 + 4 = 10
// 10 + 5 = 15
const numbers = [3, 7, 2, 9, 5];
const max = numbers.reduce((accumulator, currentValue) => {
return accumulator > currentValue ? accumulator : currentValue;
});
console.log(max); // 9
// 3 vs 7 return 7
// 7 vs 2 return 7
// 7 vs 9 return 9
// 9 vs 5 reuturn 9
🎆 다양한 패턴(합산, 그룹화, 필터링, 맵핑 등)에 활용할 수 있다