Rumah > hujung hadapan web > tutorial js > Bagaimana Mengisih Objek mengikut Nilai Tarikh Menggunakan Kunci?

Bagaimana Mengisih Objek mengikut Nilai Tarikh Menggunakan Kunci?

Susan Sarandon
Lepaskan: 2024-11-02 21:41:30
asal
814 orang telah melayarinya

How to Sort Objects by Date Value Using a Key?

Mengisih Objek mengikut Nilai Tarikh Menggunakan Kekunci

Untuk mengisih tatasusunan objek dengan kekunci tunggal dengan nilai tarikh, seperti 'updated_at', anda boleh menggunakan kaedah Array.sort terbina dalam. Pertimbangkan tatasusunan berikut:

[
    {
        "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 mengikut 'updated_at' dalam tertib menaik, anda boleh menggunakan fungsi pembanding tersuai berikut dengan kaedah isihan:

var arr = [{
    "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"
  }
]

arr.sort(function(a, b) {
  var keyA = new Date(a.updated_at),
    keyB = new Date(b.updated_at);
  if (keyA < keyB) return -1;
  if (keyA > keyB) return 1;
  return 0;
});

console.log(arr);
Salin selepas log masuk

Dalam ini fungsi pembanding, kami menukar nilai 'updated_at' kepada objek Tarikh (keyA dan keyB) menggunakan pembina Date(). Kami kemudian membandingkan objek Tarikh ini menggunakan operator perbandingan (<, >, dan ==). Jika keyA lebih awal daripada keyB, fungsi mengembalikan -1, menunjukkan keperluan untuk menukar objek dalam tatasusunan. Jika keyA lewat daripada keyB, fungsi mengembalikan 1, memastikan keyA muncul selepas keyB dalam tatasusunan yang diisih. Nilai pulangan 0 menunjukkan bahawa objek berada pada kedudukan yang sama dan tiada pertukaran diperlukan.

Teknik pengisihan ini dengan cekap menyusun objek mengikut nilai tarikh 'updated_at' mereka dalam tertib menaik. Anda boleh mengubah suai pengendali perbandingan untuk mencapai susunan pengisihan yang berbeza, seperti tertib menurun.

Atas ialah kandungan terperinci Bagaimana Mengisih Objek mengikut Nilai Tarikh Menggunakan Kunci?. 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