Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengisih Tatasusunan Objek JavaScript mengikut Nilai Harta Tertentu (cth., Harga)?

Bagaimana untuk Mengisih Tatasusunan Objek JavaScript mengikut Nilai Harta Tertentu (cth., Harga)?

Barbara Streisand
Barbara Streisandasal
2024-12-24 00:32:09387semak imbas

How to Sort an Array of JavaScript Objects by a Specific Property Value (e.g., Price)?

Mengisih Objek mengikut Nilai Harta dalam JavaScript

Apabila mengendalikan tatasusunan objek, menyusunnya mengikut nilai harta tertentu boleh menjadi penting untuk mengurus dan menggambarkan data. Mari kita terokai cara untuk mencapai fungsi pengisihan ini menggunakan JavaScript.

Soalan:

Memandangkan pelbagai objek yang mewakili data rumah, bagaimana kita mencipta fungsi untuk mengisihnya mengikut harta "harga" mereka sama ada dalam tertib menaik atau menurun?

Objek Tatasusunan:

Pertimbangkan tatasusunan rumah berikut:

var homes = [
    {
        "h_id": "3",
        "city": "Dallas",
        "state": "TX",
        "zip": "75201",
        "price": "162500"
    }, {
        "h_id": "4",
        "city": "Bevery Hills",
        "state": "CA",
        "zip": "90210",
        "price": "319250"
    }, {
        "h_id": "5",
        "city": "New York",
        "state": "NY",
        "zip": "00010",
        "price": "962500"
    }
];

Fungsi Isih:

Untuk mengisih tatasusunan rumah, kita boleh menggunakan kaedah sort() terbina dalam. Kaedah ini mengharapkan fungsi perbandingan sebagai hujahnya. Fungsi perbandingan mengambil dua elemen sebagai input dan mengembalikan nombor negatif jika elemen pertama harus didahulukan sebelum elemen kedua, nombor positif jika elemen kedua harus didahulukan sebelum elemen pertama, atau sifar jika elemen dianggap sama.

Tertib Menaik:

Untuk mengisih rumah dalam tertib menaik mengikut harga, kami mentakrifkan fungsi perbandingan yang menolak harga elemen pertama daripada harga daripada elemen kedua dan membandingkan perbezaannya. Jika perbezaannya negatif, ini bermakna harga elemen pertama adalah kurang daripada harga kedua, dan elemen pertama harus didahulukan sebelum elemen kedua.

homes.sort(function(a, b) {
    return parseFloat(a.price) - parseFloat(b.price);
});

Atau dalam sintaks ES6:

homes.sort((a, b) => parseFloat(a.price) - parseFloat(b.price));

Aturan Menurun:

Untuk tertib menurun, kita boleh membalikkan fungsi perbandingan dengan menolak harga elemen kedua daripada harga elemen pertama.

homes.sort((a, b) => parseFloat(b.price) - parseFloat(a.price));

Keputusan:

Selepas mengisih, tatasusunan rumah akan diisih berdasarkan perintah yang ditentukan. Anda boleh mencetak tatasusunan yang diubah suai untuk mengesahkan pengisihan.

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

Kenyataan:
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