Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menghimpun dan Menjumlahkan Tatasusunan Objek dengan Kunci dalam JavaScript?

Bagaimana untuk Menghimpun dan Menjumlahkan Tatasusunan Objek dengan Kunci dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-11-23 03:33:22646semak imbas

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

Mengumpul dan Menjumlahkan Tatasusunan Objek dengan Kunci

Dalam JavaScript, anda boleh mengumpulkan tatasusunan objek dengan kunci dan jumlah tertentu nilai yang dikaitkan dengan kunci itu menggunakan alat berkuasa jQuery. Begini cara anda boleh mencapai matlamat ini:

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

Gelung dan Penjumlahan

Satu kaedah yang berkesan ialah mengulang melalui tatasusunan dan mengumpul nilai menggunakan kaedah reduce() . Kaedah ini mengambil fungsi panggil balik yang mengurangkan tatasusunan kepada satu nilai, dalam kes ini, objek yang mewakili nilai terkumpul.

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;
}, {});

Output:

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

Penyelesaian ini mengelompokkan objek dengan cekap dengan kekunci Id dan menjumlahkan nilai qty yang sepadan, menghasilkan tatasusunan objek dengan dikumpulkan dan dijumlahkan nilai.

Atas ialah kandungan terperinci Bagaimana untuk Menghimpun dan Menjumlahkan Tatasusunan Objek dengan Kunci dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn