🐨CoalaCoding
Docs▾
JavaScriptReactHTML & CSSBackendAI & LLMDev ToolsCreative
B반1
👾숏츠
🙉B반2
게시판
🐨CoalaCoding

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

문서

  • JavaScript
  • React
  • HTML & CSS
  • Backend
  • AI & LLM
  • Dev Tools
  • Creative

커뮤니티

  • 게시판
  • 예제 모음

기타

  • 관리자

정책

  • 소개
  • 개인정보처리방침
  • 이용약관
  • 연락처
© 2026 CoalaCoding. All rights reserved.
  • 1. 자바스크립트 기초
  • 2. class
  • 3. ai이미지-생성기-구현
  • 4. 자료형
  • 5. async--await
  • 6. 변수와자료형
  • 7. xmlhttprequest-부터axios-까지
  • 8. 1-자바스크립트와-ecma
  • 9. 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. 9. reduce

9. reduce

자바스크립트의 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()는 배열을 단일 값으로 줄이거나 복잡한 변환을 수행하는 데 매우 유용한 메서드입니다. 합계 계산, 평균 구하기, 객체 그룹화 등 다양한 상황에서 활용할 수 있습니다.