Mengumpulkan Tatasusunan Objek mengikut Kekunci dengan Javascript dan Lodash
Mengumpulkan objek dalam tatasusunan berdasarkan kunci tertentu ialah operasi biasa. Walaupun Lodash menyediakan perpustakaan yang teguh untuk mengendalikan tugasan sedemikian, ia juga mungkin untuk mencapainya dengan Javascript biasa.
Pertimbangkan susunan objek kereta berikut:
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' }, ];
Matlamatnya adalah untuk mencipta tatasusunan objek baharu yang dikumpulkan mengikut harta 'buat' mereka. Menggunakan Javascript biasa, penyelesaian berikut boleh digunakan:
var result = cars.reduce(function (r, a) { r[a.make] = r[a.make] || []; r[a.make].push(a); return r; }, Object.create(null));
Kod ini memanfaatkan Array#reduce untuk lelaran melalui tatasusunan 'kereta'. Untuk setiap objek, ia menyemak sama ada entri untuk 'buat' wujud dalam objek 'hasil'. Jika tidak, ia mencipta tatasusunan baharu untuk 'buat' dan menolak objek semasa ke dalamnya. Jika entri sudah wujud, ia hanya menolak objek ke dalam tatasusunan.
Lodash juga menawarkan jalan pintas untuk tugasan ini:
const groupedCars = _.groupBy(cars, 'make');
Kaedah _.groupBy mengambil tatasusunan dan sifat nama dan mengembalikan objek baharu dengan kuncinya ialah nilai bagi harta yang ditentukan dan nilainya ialah tatasusunan objek yang dikumpulkan mengikut harta itu.
Atas ialah kandungan terperinci Bagaimana untuk mengumpulkan Array Objek dengan Kunci dalam JavaScript menggunakan JavaScript Lodash atau Plain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!