首頁 >web前端 >js教程 >如何在 JavaScript 中按鍵對物件陣列進行分組和求和?

如何在 JavaScript 中按鍵對物件陣列進行分組和求和?

Susan Sarandon
Susan Sarandon原創
2024-11-23 03:33:22627瀏覽

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