首頁 > web前端 > js教程 > 如何在 JavaScript 中使用共享鍵求和物件屬性值?

如何在 JavaScript 中使用共享鍵求和物件屬性值?

Mary-Kate Olsen
發布: 2024-12-14 17:18:18
原創
252 人瀏覽過

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
];
登入後複製

考慮以下JavaScript 物件陣列:

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},
];
登入後複製

目標是透過對相應的val值求和來合併重複的鍵,從而產生一個類似的數組this:
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};
});
登入後複製

為了實現這一點,可以利用採用reduce和map方法的強大解決方案:

這種方法首先使用reduce建立一個Map,其中每個鍵代表原始陣列中的唯一鍵,對應的值是具有相同鍵的所有val 值的總和。 最後,在計數上呼叫 map 方法map 將其轉換回具有所需合併值的物件陣列。此程式碼的輸出是reduceObjArr,其中包含所需的合併和求和值。

以上是如何在 JavaScript 中使用共享鍵求和物件屬性值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板