Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengisih Objek mengikut Kunci Tarikh Menggunakan Array.sort()?

Bagaimana untuk Mengisih Objek mengikut Kunci Tarikh Menggunakan Array.sort()?

Susan Sarandon
Lepaskan: 2024-11-02 21:53:02
asal
325 orang telah melayarinya

How to Sort Objects by Date Key Using Array.sort()?

Mengisih Objek mengikut Kekunci Tarikh Menggunakan Array.sort

Mengisih tatasusunan objek mengikut kunci tertentu ialah tugas biasa dalam JavaScript. Ini amat berguna apabila berurusan dengan cap masa seperti 'updated_at'.

Untuk mencapainya, kami boleh menggunakan kaedah Array.sort() terbina dalam. Kaedah ini mengambil fungsi perbandingan sebagai hujahnya, yang menentukan susunan unsur dalam tatasusunan.

Sebagai contoh, mari kita pertimbangkan tatasusunan objek dengan kunci 'updated_at':

[
    {
        "updated_at" : "2012-01-01T06:25:24Z",
        "foo" : "bar"
    },
    {
        "updated_at" : "2012-01-09T11:25:13Z",
        "foo" : "bar"
    },
    {
        "updated_at" : "2012-01-05T04:13:24Z",
        "foo" : "bar"
    }
]
Salin selepas log masuk

Untuk mengisih objek ini berdasarkan kekunci 'updated_at', kita boleh menggunakan fungsi perbandingan berikut:

function compare(a, b) {
  var keyA = new Date(a.updated_at),
    keyB = new Date(b.updated_at);
  // Compare the 2 dates
  if (keyA < keyB) return -1;
  if (keyA > keyB) return 1;
  return 0;
}
Salin selepas log masuk

Fungsi ini membandingkan nilai 'updated_at' dua objek dan mengembalikan negatif, positif atau nilai sifar berdasarkan sama ada objek pertama lebih awal, kemudian atau masa yang sama dengan objek kedua.

Dengan menghantar fungsi perbandingan ini kepada kaedah Array.sort(), kita boleh mengisih tatasusunan objek dalam tertib menaik 'updated_at':

arr.sort(compare);
Salin selepas log masuk

Anasusunan diisih yang terhasil akan mempunyai objek disusun daripada nilai 'updated_at' yang paling awal hingga terkini.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Objek mengikut Kunci Tarikh Menggunakan Array.sort()?. 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