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
Lepaskan: 2024-11-23 03:33:22
asal
591 orang telah melayarinya

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 }
];
Salin selepas log masuk

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;
}, {});
Salin selepas log masuk

Output:

[
  { Id: '001', qty: 3 },
  { Id: '002', qty: 2 },
  { Id: '003', qty: 4 }
]
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan