Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengisih Objek JavaScript mengikut Nilai Harta?

Bagaimana untuk Mengisih Objek JavaScript mengikut Nilai Harta?

Linda Hamilton
Lepaskan: 2024-12-29 09:42:11
asal
798 orang telah melayarinya

How to Sort JavaScript Objects by Property Values?

Mengisih Objek mengikut Nilai Harta

Dalam JavaScript, objek ialah koleksi tidak tertib pasangan nilai kunci. Walau bagaimanapun, mungkin terdapat situasi di mana kita perlu mengisih objek berdasarkan nilai sifatnya. Ini boleh dicapai dengan menukar objek kepada tatasusunan, mengisih tatasusunan mengikut nilai, dan kemudian membina semula objek daripada tatasusunan yang diisih.

Mari kita pertimbangkan contoh yang disediakan:

var list = {
  "you": 100, 
  "me": 75, 
  "foo": 116, 
  "bar": 15
};
Salin selepas log masuk

Kepada mengisih sifat senarai berdasarkan nilainya, kita boleh melakukan perkara berikut:

let sortable = [];
for (let property in list) {
    sortable.push([property, list[property]]);
}

sortable.sort((a, b) => a[1] - b[1]);

// [["bar", 15], ["me", 75], ["you", 100], ["foo", 116]]
Salin selepas log masuk

Ini mencipta tatasusunan yang boleh diisih yang mengandungi subarray pasangan nilai harta, yang kemudiannya diisih dalam tertib menaik berdasarkan nilai. Sekarang, kita boleh membina semula objek dalam susunan yang diisih:

let objSorted = {};
sortable.forEach(item => {
    objSorted[item[0]] = item[1];
});
Salin selepas log masuk

Ini memberikan kita objek yang diisih:

objSorted = {
  "bar": 15, 
  "me": 75, 
  "you": 100, 
  "foo": 116
};
Salin selepas log masuk

Dalam ES8 dan ke atas, kita boleh memudahkan proses ini menggunakan Object. entries():

const maxSpeed = {
  car: 300, 
  bike: 60, 
  motorbike: 200, 
  airplane: 1000,
  helicopter: 400, 
  rocket: 8 * 60 * 60
};

const sortable = Object.entries(maxSpeed)
  .sort(([,a],[,b]) => a-b)
  .reduce((r, [k, v]) => ({ ...r, [k]: v }), {});

console.log(sortable);
Salin selepas log masuk

Ini mengembalikan tatasusunan yang diisih pasangan nilai harta sebagai objek.

Adalah penting untuk ambil perhatian bahawa semasa mengisih objek mengikut nilai sifat adalah mungkin, ia bergantung pada kebiasaan pelaksanaan dalam JavaScript dan mungkin rosak pada masa hadapan. Adalah disyorkan untuk mengelakkan membuat andaian tentang susunan elemen dalam objek JavaScript.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Objek JavaScript mengikut Nilai Harta?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan