Menjumlahkan Nilai Harta Objek dengan Kunci Dikongsi dalam JavaScript
Pertimbangkan susunan objek JavaScript berikut:
const objArr = [ {key: "Mon Sep 23 2013 00:00:00 GMT-0400", val: 42}, {key: "Mon Sep 24 2013 00:00:00 GMT-0400", val: 78}, {key: "Mon Sep 25 2013 00:00:00 GMT-0400", val: 23}, {key: "Mon Sep 23 2013 00:00:00 GMT-0400", val: 54}, // Duplicate key ];
Matlamatnya adalah untuk menggabungkan kunci pendua dengan menjumlahkan nilai val yang sepadan, menghasilkan tatasusunan seperti ini:
const reducedObjArr = [ {key: "Mon Sep 23 2013 00:00:00 GMT-0400", val: 96}, {key: "Mon Sep 24 2013 00:00:00 GMT-0400", val: 78}, {key: "Mon Sep 25 2013 00:00:00 GMT-0400", val: 23}, ];
Untuk mencapai matlamat ini, penyelesaian teguh yang menggunakan kaedah pengurangan dan peta boleh digunakan:
let counts = objArr.reduce((prev, curr) => { let count = prev.get(curr.key) || 0; prev.set(curr.key, curr.val + count); return prev; }, new Map()); let reducedObjArr = [...counts].map(([key, value]) => { return {key, value}; });
Pendekatan ini mula-mula mencipta Peta menggunakan reduce, di mana setiap kekunci mewakili kunci unik daripada tatasusunan asal dan nilai yang sepadan ialah jumlah semua nilai val dengan kunci yang sama.
Akhir sekali, kaedah peta ialah digunakan pada peta kiraan untuk menukarnya semula kepada tatasusunan objek dengan nilai gabungan yang dikehendaki. Output kod ini ialah reducedObjArr, yang mengandungi nilai yang digabungkan dan dijumlahkan seperti yang diperlukan.
Atas ialah kandungan terperinci Bagaimana Menjumlahkan Nilai Harta Objek dengan Kunci Dikongsi dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!