>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 키를 기준으로 객체 배열을 그룹화하고 합산하는 방법은 무엇입니까?

JavaScript에서 키를 기준으로 객체 배열을 그룹화하고 합산하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-23 03:33:22646검색

How to Group and Sum an Array of Objects by a Key in JavaScript?

키를 기준으로 개체 배열 그룹화 및 합산

JavaScript에서는 특정 키와 합계를 기준으로 개체 배열을 그룹화할 수 있습니다. jQuery의 강력한 도구를 사용하여 해당 키와 관련된 값. 이를 달성하는 방법은 다음과 같습니다.

var array = [
  { Id: '001', qty: 1 },
  { Id: '002', qty: 2 },
  { Id: '001', qty: 2 },
  { Id: '003', qty: 4 }
];

루핑 및 합산

한 가지 효과적인 방법은 배열을 반복하고 Reduce() 메서드를 사용하여 값을 누적하는 것입니다. . 이 메서드는 배열을 단일 값(이 경우 그룹화된 값을 나타내는 객체)으로 줄이는 콜백 함수를 사용합니다.

var result = [];
array.reduce(function (res, value) {
  if (!res[value.Id]) {
    res[value.Id] = { Id: value.Id, qty: 0 };
    result.push(res[value.Id]);
  }
  res[value.Id].qty += value.qty;
  return res;
}, {});

출력:

[
  { Id: '001', qty: 3 },
  { Id: '002', qty: 2 },
  { Id: '003', qty: 4 }
]

이 솔루션은 Id 키를 기준으로 객체를 효율적으로 그룹화하고 해당 수량 값을 합산하여 그룹화 및 합산된 객체 배열을 생성합니다. 가치가 있습니다.

위 내용은 JavaScript에서 키를 기준으로 객체 배열을 그룹화하고 합산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.