Rumah > Soal Jawab > teks badan
P粉4818158972023-08-15 15:34:26
Tugas ini akan menjadi lebih mudah jika dibahagikan kepada dua bahagian.
Mula-mula, tukarkannya reduce
kepada tatasusunan yang mengandungi nilai terkumpul.
Kemudian gelungkan (anda juga boleh menggunakan reduce) objek dan dapatkan jumlah tatasusunan dan tambah ${array.length} devices
pada rentetan:
const usageCosts = { 224910186407: { deviceId: "224910186407", currency: "GBP", yearlyUsage: 1480.81 }, 224910464538: { deviceId: "224910464538", currency: "GBP", yearlyUsage: 617.36 }, 224910464577: { deviceId: "224910464577", currency: "EUR", yearlyUsage: 522.3 } } let grouped = Object.values(usageCosts).reduce((p, c) => { if (!p[c.currency]) p[c.currency] = []; p[c.currency].push(c.yearlyUsage); return p; }, {}); for (var key in grouped) { grouped[key] = `${grouped[key].reduce((a,b)=>a+b)} (${grouped[key].length}) devices`; } console.log(grouped)