Bagaimana untuk Mengumpul dan Menjumlahkan Tatasusunan Objek oleh Harta Menggunakan jQuery?

Linda Hamilton
Lepaskan: 2024-11-17 07:51:03
asal
470 orang telah melayarinya

How to Group and Sum an Array of Objects by a Property Using jQuery?

Mengumpulkan dan Menjumlahkan Susunan Objek Mengikut Harta

Masalah

Memandangkan pelbagai objek, matlamat anda adalah untuk mengumpulkannya mengikut satu tertentu harta, seperti Id, dan hitung jumlah harta lain, seperti qty, untuk setiap kumpulan menggunakan jQuery.

Contoh

Pertimbangkan tatasusunan input berikut:

var array = [
  { Id: "001", qty: 1 },
  { Id: "002", qty: 2 },
  { Id: "001", qty: 2 },
  { Id: "003", qty: 4 }
];
Salin selepas log masuk

Output yang dikehendaki ialah:

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

Penyelesaian

Untuk mengumpulkan tatasusunan mengikut Id dan menjumlahkan nilai qty bagi setiap kumpulan menggunakan jQuery, anda boleh menggunakan yang berikut pendekatan:

$(array).groupBy('Id').reduce(function (res, obj) {
  return res + obj.qty;
}, 0);
Salin selepas log masuk

Berikut ialah pecahan penyelesaian:

  • jQuery's groupBy Plugin: Pemalam ini mengumpulkan susunan objek berdasarkan sifat yang ditentukan, Id. Ia mengembalikan objek dengan kunci sifat yang sepadan dengan nilai Id unik.
  • Kaedah pengurangan jQuery: Kaedah ini berulang melalui objek terkumpul dan menggunakan fungsi panggil balik yang ditentukan untuk mengira jumlah nilai qty bagi setiap kumpulan. Dalam kes ini, fungsi panggil balik hanya menambah sifat qty setiap objek pada penumpuk.

Atas ialah kandungan terperinci Bagaimana untuk Mengumpul dan Menjumlahkan Tatasusunan Objek oleh Harta Menggunakan jQuery?. 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