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 중국어 웹사이트의 기타 관련 기사를 참조하세요!