자바스크립트의 reduce() 함수는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환하는 강력한 배열 메서드입니다.

기본 구문

arr.reduce((accumulator, currentValue, currentIndex, array) => {
// 리듀서 함수 로직
}, initialValue)
  1. 기본적인 숫자 합계 계산:

    
    const numbers = [1, 2, 3, 4, 5];
    const sum = numbers.reduce((acc, current) => acc + current, 0);
    console.log(sum); // 15
    
    
  2. 객체 배열에서 속성 값 합산:

    
    const products = [
      { name: '사과', price: 1000 },
      { name: '바나나', price: 1500 },
      { name: '오렌지', price: 2000 }
    ];
    const totalPrice = products.reduce((acc, product) => acc + product.price, 0);
    console.log(totalPrice); // 4500
    
    
  3. 배열을 객체로 변환:

    
    const fruits = ['사과', '바나나', '사과', '오렌지', '바나나'];
    const fruitCount = fruits.reduce((acc, fruit) => {
      acc[fruit] = (acc[fruit] || 0) + 1;
      return acc;
    }, {});
    console.log(fruitCount);
    // { '사과': 2, '바나나': 2, '오렌지': 1 }
    
    

reduce() 함수의 매개변수:

중요한 특징:

reduce()는 배열을 단일 값으로 줄이거나 복잡한 변환을 수행하는 데 매우 유용한 메서드입니다. 합계 계산, 평균 구하기, 객체 그룹화 등 다양한 상황에서 활용할 수 있습니다.