>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 공유 키를 사용하여 개체 속성 값을 합산하는 방법은 무엇입니까?

JavaScript에서 공유 키를 사용하여 개체 속성 값을 합산하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-14 17:18:18255검색

How to Sum Object Property Values with Shared Keys in JavaScript?

JavaScript에서 공유 키를 사용하여 객체 속성 값 합산

다음 JavaScript 객체 배열을 고려하세요.

const objArr = [
    {key: "Mon Sep 23 2013 00:00:00 GMT-0400", val: 42},
    {key: "Mon Sep 24 2013 00:00:00 GMT-0400", val: 78},
    {key: "Mon Sep 25 2013 00:00:00 GMT-0400", val: 23},
    {key: "Mon Sep 23 2013 00:00:00 GMT-0400", val: 54}, // Duplicate key
];

목표는 해당 val 값을 합산하여 중복 키를 병합하여 다음과 같은 배열을 만드는 것입니다. 이:

const reducedObjArr = [
    {key: "Mon Sep 23 2013 00:00:00 GMT-0400", val: 96},
    {key: "Mon Sep 24 2013 00:00:00 GMT-0400", val: 78},
    {key: "Mon Sep 25 2013 00:00:00 GMT-0400", val: 23},
];

이를 달성하려면 축소 및 매핑 방법을 사용하는 강력한 솔루션을 활용할 수 있습니다.

let counts = objArr.reduce((prev, curr) => {
  let count = prev.get(curr.key) || 0;
  prev.set(curr.key, curr.val + count);
  return prev;
}, new Map());

let reducedObjArr = [...counts].map(([key, value]) => {
  return {key, value};
});

이 접근 방식은 먼저 축소를 사용하여 각 키가 나타내는 맵을 생성합니다. 원래 배열의 고유 키와 해당 값은 동일한 키를 가진 모든 val 값의 합계입니다.

마지막으로 map 메소드가 개수에 대해 호출됩니다. map을 사용하여 원하는 병합된 값이 있는 객체 배열로 다시 변환합니다. 이 코드의 출력은 필요에 따라 병합 및 합산된 값을 포함하는 ReducedObjArr입니다.

위 내용은 JavaScript에서 공유 키를 사용하여 개체 속성 값을 합산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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