Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengumpul Objek JavaScript dengan Cekap dengan Kekunci Menggunakan JavaScript Lodash atau Biasa?
Mengumpulkan Objek mengikut Kekunci dengan JavaScript dan Lodash
Mengumpulkan objek berdasarkan kunci tertentu ialah tugas biasa apabila bekerja dengan tatasusunan data. Dengan mengumpulkan objek yang berkongsi harta bersama, kami boleh menyusun dan mengaksesnya dengan lebih berkesan.
Satu cara untuk mencapai ini dalam JavaScript biasa ialah menggunakan kaedah Array#reduce. Coretan kod berikut menggambarkan cara:
const cars = [{ make: 'audi', model: 'r8', year: '2012' }, { make: 'audi', model: 'rs5', year: '2013' }, { make: 'ford', model: 'mustang', year: '2012' }, { make: 'ford', model: 'fusion', year: '2015' }, { make: 'kia', model: 'optima', year: '2012' }]; const result = cars.reduce(function (r, a) { r[a.make] = r[a.make] || []; r[a.make].push(a); return r; }, {}); console.log(result);
Kod ini menggunakan sifat make sebagai kunci pengumpulan. Ia berulang melalui pelbagai kereta dan mencipta objek baharu dengan kekunci yang sepadan dengan nilai buatan yang unik. Untuk setiap buatan, ia mencipta atau menambahkan tatasusunan perkongsian objek kereta yang dibuat.
Lodash juga menyediakan cara ringkas untuk mengumpulkan objek menggunakan fungsi _.groupBy:
import { groupBy } from 'lodash'; const grouped = groupBy(cars, 'make');
groupBy fungsi mengambil dua hujah: tatasusunan objek dan harta untuk dikumpulkan mengikut. Ia mengembalikan objek baharu dengan kunci yang sepadan dengan nilai unik harta yang ditentukan dan nilai yang sepadan dengan tatasusunan objek yang berkongsi nilai tersebut.
Dengan mengumpulkan objek mengikut kunci, kami boleh mengakses data berkaitan dengan mudah dan melaksanakan operasi pada kumpulan objek yang mempunyai ciri yang sama. Teknik ini amat berguna untuk mengoptimumkan pengambilan data, penapisan dan visualisasi data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengumpul Objek JavaScript dengan Cekap dengan Kekunci Menggunakan JavaScript Lodash atau Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!