[JS] reduce

곽태민·2023년 8월 8일
0

TIL

목록 보기
40/63

reduce

reduce는 Javascript 배열의 메서드 중 하나로, 배열의 각 요소들을 순회하면서 누적값을 계산하는 기능을 제공한다.

reduce 메서드는 배열을 순회하면서 요소들을 하나씩 처리하여 누적된 값을 반환한다.

arr.reduce(callback(accumulator, currentValue, currentIndex, array), initialValue)
  • callback: 각 요소를 처리하는 함수로, 4개의 매개변수를 받는다.
    - accumulator: 누적 값이다. 이 값을 콜백 함수의 리턴 값이나 초기값으로 시작한다.
    • currentValue: 현재 처리되는 요소의 값
    • currentIndex: 현재 처리되는 요소의 인덱스 -> optional
    • array: reduce가 호출되는 배열 -> optional
  • initialValue: 누적값의 초기값으로, 첫 번째 요소를 처리하기 전에 이 값을 사용한다. (배열의 첫 번째 요소가 초기값) -> optional

reduce 메서드는 배열의 요소들을 순회하면서 콜백 함수를 호출하며, 각 요소를 처리하여 누적된 값을 계산한다.

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

const sum = numbers.reduce((accumulator, currentValue) => {
	return accumulator + currentValue;
}, 0);

console.log(sum); // 15 (1 + 2 + 3 + 4 + 5)

reduce는 배열을 다양한 방식으로 처리하고, 누적된 값을 계산할 때 유용하게 사용할 수 있다. reduce를 사용하지 않더라도 누적값을 계산할 수 있지만 코드가 늘어난다.

reduce를 사용하지 않은 예를 들면

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

let sum = 0; // 누적값을 지정할 변수, 초기값은 0

for (let i = 0; i < numbers.length; i++) {
	sum += numbers[i]; // 각 요소를 누적값에 더해줌.
}

console.log(sum); // 15 (1 + 2 + 3 + 4 + 5)

이렇게 for문을 사용해서 누적값을 계산할 수 있다. 하지만 reduce가 더 간결하고, 함수형 프로그래밍적인 스타일을 지향한다면 reduce를 사용하는 것이 더 좋다.

profile
Node.js 백엔드 개발자입니다!

0개의 댓글