Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menghimpunkan Objek dalam Tatasusunan JavaScript dengan Kunci Dikongsi?
Mengumpulkan Objek dalam Tatasusunan mengikut Kekunci
Dalam pengaturcaraan, selalunya perlu untuk mengumpulkan objek dalam tatasusunan berdasarkan kunci yang dikongsi. Pertimbangkan tatasusunan objek kereta berikut sebagai contoh:
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 ialah untuk mencipta tatasusunan baharu di mana objek kereta dikumpulkan mengikut jenama. Menggunakan JavaScript vanila, satu pendekatan ialah menggunakan kaedah Array#reduce bersama-sama dengan objek:
const result = cars.reduce((r, a) => { r[a.make] = r[a.make] || []; r[a.make].push(a); return r; }, Object.create(null)); console.log(result);
Kod ini berulang melalui tatasusunan kereta dan menyemak sama ada make semasa wujud sebagai kunci dalam objek hasil. Jika tidak, ia menambah make sebagai kunci dan memulakan tatasusunan kosong. Ia kemudian menolak objek kereta semasa ke dalam tatasusunan yang sepadan, mengumpulkan objek secara berkesan mengikut pembuatannya.
Objek hasil yang terhasil akan distrukturkan seperti berikut:
{ '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 Saya Boleh Menghimpunkan Objek dalam Tatasusunan JavaScript dengan Kunci Dikongsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!