Rumah >hujung hadapan web >tutorial js >Bagaimanakah Fungsi `_.groupBy` Lodash Mengumpulkan Tatasusunan Objek dengan Kekunci dengan Cekap?
Mengumpulkan Objek dalam Tatasusunan dengan Kunci Menggunakan Lodash: Panduan Praktikal
Pengenalan
Pengumpulan data secara teratur selalunya merupakan tugas penting dalam pelbagai senario pengaturcaraan. Apabila berurusan dengan tatasusunan objek, ia menjadi perlu untuk mengumpulkan elemen berdasarkan sifat tertentu. Lodash, perpustakaan JavaScript yang popular, menawarkan cara yang berkesan untuk mencapainya.
Penyelesaian Lodash
Lodash menyediakan kaedah berguna yang dipanggil _.groupBy yang membolehkan anda mengumpulkan tatasusunan objek dengan kunci yang ditentukan. Penggunaannya adalah mudah:
const groupedCars = _.groupBy(cars, 'make');
Ini akan mencipta objek baharu groupedCars di mana setiap kekunci sepadan dengan nilai unik bagi hartanah make daripada tatasusunan kereta. Nilai untuk setiap kunci ialah tatasusunan objek yang berkongsi nilai buat yang sama.
Pelaksanaan
Mari kita pertimbangkan contoh yang disediakan dalam pertanyaan, di mana kita mempunyai tatasusunan objek kereta dan keinginan untuk mengumpulkannya dengan membuat:
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' }, ];
Menggunakan kaedah _.group Lodash, kita boleh cipta objek berkumpulan yang dikehendaki seperti berikut:
const groupedCars = _.groupBy(cars, 'make');
Objek groupedCars yang terhasil ialah:
{ audi: [ { model: 'r8', year: '2012' }, { model: 'rs5', year: '2013' }, ], ford: [ { model: 'mustang', year: '2012' }, { model: 'fusion', year: '2015' }, ], kia: [ { model: 'optima', year: '2012' }, ], }
Atas ialah kandungan terperinci Bagaimanakah Fungsi `_.groupBy` Lodash Mengumpulkan Tatasusunan Objek dengan Kekunci dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!