Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Isih Sifat Objek JavaScript mengikut Nilainya?
Mengisih Sifat Objek mengikut Nilai
Mengisih sifat objek berdasarkan nilainya dalam JavaScript boleh dicapai melalui penyelesaian yang bijak. Daripada bergantung pada susunan sifat objek yang bergantung kepada pelaksanaan, kita boleh menukarnya kepada tatasusunan, mengisih tatasusunan dan mencipta semula objek.
Untuk mencapai ini, kami memindahkan sifat objek ke dalam tatasusunan menggunakan gelung:
let sortable = []; for (var vehicle in maxSpeed) { sortable.push([vehicle, maxSpeed[vehicle]]); }
Setelah dalam bentuk tatasusunan, kita boleh menggunakan fungsi isihan untuk mengisih unsur mengikut value:
sortable.sort(function(a, b) { return a[1] - b[1]; });
Ini menghasilkan tatasusunan dalam tertib diisih:
// [["bike", 60], ["motorbike", 200], ["car", 300], // ["helicopter", 400], ["airplane", 1000], ["rocket", 28800]]
Daripada tatasusunan yang diisih, kita boleh membina semula objek sambil mengekalkan susunan yang dikehendaki:
let objSorted = {} sortable.forEach(function(item){ objSorted[item[0]]=item[1] })
Sebagai alternatif, jika ES8 tersedia, kita boleh menggunakan Object.entry dan mengurangkan kaedah untuk mengubah objek menjadi tatasusunan:
const sortable = Object.entries(maxSpeed) .sort(([,a],[,b]) => a-b) .reduce((r, [k, v]) => ({ ...r, [k]: v }), {});
Pendekatan ini kekal sebagai penyelesaian kerana keanehan pelaksanaan dan seseorang harus mengelak daripada bergantung pada susunan sifat objek dalam JavaScript.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Sifat Objek JavaScript mengikut Nilainya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!