🐨CoalaCoding
DocsExamplesTry itBoardB반
🐨CoalaCoding

개발자를 위한 한국어 웹 기술 문서

문서

  • JavaScript
  • Web Publishing
  • React
  • Python

커뮤니티

  • 게시판
  • 예제 모음
  • Try it 에디터

기타

  • GitHub
  • 관리자
© 2026 CoalaCoding. All rights reserved.
  • 01_start
  • 02_class
  • 03_ai이미지-생성기-구현
  • 04_자료형
  • 05_async--await
  • 06_변수와자료형
  • 07_xmlhttprequest-부터axios-까지
  • 08_1-자바스크립트와-ecma
  • 09_reduce
  • 10_캘린더-만들기
  • 11_generator
  • 12_destructuring
  • 13_spread-operator
  • 14_module-export-import
  • 15_http-통신-이란
  • 16_시작
  • 17_2-자바스크립트-코드-실행-과정-및-용어정리
  • 18_map
  • 19_동기와-비동기
  • 20_연산자
  • 21_promise-thencatch
  • 22_3-실행컨텍스트와-스코프
  • 23_콜백-함수
  • 24_제어문
  • 25_4-클로저
  • 26_windowlocation
  • 27_함수
  • 28_5-객체
  • 29_이벤트
  1. 홈
  2. 문서
  3. JavaScript
  4. JavaScript 기초
  5. 09_reduce

09_reduce

코드 블록의 Try it Yourself 버튼으로 직접 실행할 수 있다.

구문

자바스크립트의 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

  1. 객체 배열에서 속성 값 합산:

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

  1. 배열을 객체로 변환:

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

reduce() 함수의 매개변수:

  • accumulator: 누산기, 누적된 계산 결과
  • currentValue: 현재 처리되는 배열 요소
  • currentIndex: 현재 요소의 인덱스 (선택적)
  • array: 원본 배열 (선택적) 중요한 특징:
  • 초기값(initialValue)을 제공하지 않으면, 배열의 첫 번째 요소가 초기값이 됩니다.
  • 빈 배열에서 초기값 없이 호출하면 오류가 발생합니다. reduce()는 배열을 단일 값으로 줄이거나 복잡한 변환을 수행하는 데 매우 유용한 메서드입니다. 합계 계산, 평균 구하기, 객체 그룹화 등 다양한 상황에서 활용할 수 있습니다.

목차

  • 구문