객체 배열에서 특정 키의 값을 합치는 것은 데이터 처리에 있어 자주 마주칩니다.. 이 작업을 수행하는 방법은 여러 가지가 있지만, 여기서는 주로 JavaScript의 reduce 메서드와 Lodash 라이브러리의 _.sumBy 함수를 사용하는 방법으로 설명하겠습니다.
JavaScript의 reduce() 함수 사용하기
reduce 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다. 이 메서드를 사용하여 객체 배열에서 특정 키의 값을 합칠 수 있습니다.
위 예시에서는 items 배열의 각 객체에서 quantity 키의 값을 합치고 있습니다. reduce 함수의 첫 번째 인자는 누적값(sum)과 현재 처리하고 있는 요소(item)를 인자로 받는 콜백 함수이며, 두 번째 인자는 누적값의 초기값(0)입니다.
const items = [
{ name: '사과', quantity: 2 },
{ name: '바나나', quantity: 3 },
{ name: '오렌지', quantity: 5 }
];
const totalQuantity = items.reduce((sum, item) => sum + item.quantity, 0);
console.log(totalQuantity); // 10
Lodash의 _.sumBy 함수 사용하기
Lodash 라이브러리는 JavaScript에서 데이터를 처리하는 데 유용한 다양한 유틸리티 함수를 제공합니다. _.sumBy 함수는 배열의 각 요소에서 특정 키의 값을 합산하는 데 사용됩니다.
_.sumBy 함수는 첫 번째 인자로 배열을, 두 번째 인자로 합산할 키의 이름을 문자열로 받습니다. 이 방법은 코드를 간결하게 작성할 수 있으며, 복잡한 데이터 구조를 처리할 때 특히 유용합니다.
const items = [
{ name: '사과', quantity: 2 },
{ name: '바나나', quantity: 3 },
{ name: '오렌지', quantity: 5 }
];
const totalQuantity = _.sumBy(items, 'quantity');
console.log(totalQuantity); // 10관련문서
- MDN web docs Array.prototype.reduce(): https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
- lodash _.sumby: https://lodash.com/docs/#sumBy
![[javascript]객체의 키 중에서 숫자 타입의 값을 필터링하고 합산 javascript](https://markettraders.kr/wp-content/uploads/2021/12/javascript-218x150.jpg)













![[광주]위파크 더 센트럴 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/2023000351-218x150.png)
![[강원]힐스테이트 속초 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/20230707051118016175-218x150.jpg)
![[강원]e편한세상 원주 프리모원(1회차) 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/2023000284-218x150.jpg)
![[서울]수유 시그니티 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/apartment-218x150.jpg)
![[경기]광명 센트럴 아이파크 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/2023000303-218x150.jpg)
