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" } ]
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);
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!