按日期升序降序排序包含物件的巢狀陣列(JavaScript)
假設我們有一個包含如下所示巢狀陣列的 JSON 物件 −
const arr = {
"DATA": [
{
"BookingID": "9513",
"DutyStart": "2016-02-11 12:00:00"
},
{
"BookingID": "91157307",
"DutyStart": "2016-02-11 13:00:00"
},
{
"BookingID": "95117317",
"DutyStart": "2016-02-11 13:30:00"
},
{
"BookingID": "957266",
"DutyStart": "2016-02-12 19:15:00"
},
{
"BookingID": "74",
"DutyStart": "2016-02-11 12:21:00"
}
]
};我們要編寫一個 JavaScript 函式,它接受一個這樣的物件,並按升序或降序對巢狀陣列按 'dutyStart' 屬性排序。
示例
程式碼如下 −
const arr = {
"DATA": [
{
"BookingID": "9513",
"DutyStart": "2016-02-11 12:00:00"
},
{
"BookingID": "91157307",
"DutyStart": "2016-02-11 13:00:00"
},
{
"BookingID": "95117317",
"DutyStart": "2016-02-11 13:30:00"
},
{
"BookingID": "957266",
"DutyStart": "2016-02-12 19:15:00"
},
{
"BookingID": "74",
"DutyStart": "2016-02-11 12:21:00"
}
]
};
const sortByDate = arr => {
const sorter = (a, b) => {
return new Date(a.DutyStart).getTime() - new Date(b.DutyStart).getTime();
};
arr["DATA"].sort(sorter);
return arr;
};
console.log(sortByDate(arr));輸出
並且控制檯中的輸出如下 −
{
DATA: [
{ BookingID: '9513', DutyStart: '2016-02-11 12:00:00' },
{ BookingID: '74', DutyStart: '2016-02-11 12:21:00' },
{ BookingID: '91157307', DutyStart: '2016-02-11 13:00:00' },
{ BookingID: '95117317', DutyStart: '2016-02-11 13:30:00' },
{ BookingID: '957266', DutyStart: '2016-02-12 19:15:00' }
]
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP