Bagaimanakah Saya Boleh Mengumpul dan Menjumlahkan Objek dalam Tatasusunan oleh Harta Tertentu Menggunakan jQuery?

Mary-Kate Olsen
Lepaskan: 2024-11-17 09:30:03
asal
596 orang telah melayarinya

How Can I Group and Sum Objects in an Array by a Specific Property Using jQuery?

Mengumpul dan Menjumlahkan Objek dalam Tatasusunan

Untuk mengumpulkan tatasusunan objek mengikut sifat tertentu dan meringkaskan harta lain dalam jQuery, anda boleh menggunakan langkah berikut:

1. Gelung dan Kurangkan:
Gunakan fungsi $.each() untuk lelaran ke atas tatasusunan dan untuk setiap objek, semak sama ada objek dengan sifat kumpulan yang sama sudah wujud dalam tatasusunan hasil. Jika tidak, cipta objek baharu dengan sifat kumpulan dan kuantiti awal 0. Tambahkan objek ini pada tatasusunan hasil.

2. Jumlahkan Sifat:
Dalam gelung, tambahkan nilai harta yang anda mahu jumlahkan (cth., qty) daripada objek semasa kepada objek yang sepadan dalam tatasusunan hasil. Ini secara berkesan mengumpul kuantiti untuk setiap kumpulan.

Berikut ialah contoh kod menggunakan jQuery:

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

var result = [];
$.each(array, function(i, obj) {
  var idx = result.findIndex(x => x.Id === obj.Id);
  if (idx === -1) {
    result.push({ Id: obj.Id, qty: 0 });
    idx = result.length - 1;
  }
  result[idx].qty += obj.qty;
});

console.log(result);
Salin selepas log masuk

Kod ini akan log keluaran berikut:

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

Dengan mengikut langkah ini, anda boleh mengumpulkan dan menjumlahkan sifat objek dalam tatasusunan dengan berkesan, membolehkan anda mengekstrak cerapan berharga daripada data anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengumpul dan Menjumlahkan Objek dalam Tatasusunan oleh Harta Tertentu 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