KumpulanBy yang Cekap untuk Tatasusunan Objek menggunakan Underscore.js
Menghimpun data dalam tatasusunan objek adalah penting untuk mengagregat dan menganalisis maklumat. Ini amat penting apabila bekerja dengan data berstruktur. Antara pelbagai kaedah, Underscore.js menawarkan penyelesaian yang berkuasa untuk mengumpulkan objek berdasarkan kriteria tertentu.
Dalam kes ini, anda ingin mengumpulkan objek mengikut pelbagai kombinasi medan, seperti Fasa dan Langkah, sambil juga menjumlahkan nilai yang sepadan. Underscore.js menyediakan fungsi groupBy yang boleh mengendalikan tugas ini dengan cekap.
Berikut ialah contoh cara menggunakan Underscore.js untuk mengumpulkan tatasusunan objek mengikut Fasa:
const data = [ { Phase: "Phase 1", Step: "Step 1", Task: "Task 1", Value: "5" }, { Phase: "Phase 1", Step: "Step 1", Task: "Task 2", Value: "10" }, { Phase: "Phase 1", Step: "Step 2", Task: "Task 1", Value: "15" }, { Phase: "Phase 1", Step: "Step 2", Task: "Task 2", Value: "20" }, { Phase: "Phase 2", Step: "Step 1", Task: "Task 1", Value: "25" }, { Phase: "Phase 2", Step: "Step 1", Task: "Task 2", Value: "30" }, { Phase: "Phase 2", Step: "Step 2", Task: "Task 1", Value: "35" }, { Phase: "Phase 2", Step: "Step 2", Task: "Task 2", Value: "40" } ]; const groupedByPhase = _.groupBy(data, 'Phase');
Operasi ini menghasilkan objek yang kuncinya ialah nilai Fasa yang berbeza, dan nilainya ialah tatasusunan objek yang dimiliki oleh setiap fasa. Untuk mengira jumlah nilai bagi setiap fasa, anda boleh menggunakan fungsi pengurangan seperti berikut:
const phaseTotals = _.map(groupedByPhase, function(phaseData) { return { Phase: phaseData[0].Phase, Value: _.reduce(phaseData, function(memo, object) { return memo + Number(object.Value); }, 0) }; });
Begitu juga, anda boleh mengumpulkan objek dengan mana-mana gabungan medan menggunakan prinsip yang sama. Dengan memanfaatkan fungsi groupBy Underscore.js, anda boleh mengumpulkan data anda dengan cekap, memberikan cerapan berharga ke dalam set data anda.
Atas ialah kandungan terperinci Bagaimanakah Underscore.js Mengumpul dan Menjumlahkan Data dengan Cekap dalam Susunan Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!