排序在項目中還是比較常見的。特別后台·管理系統,動不動就有升序降序的排序操作
1. 有以下數組
// 如何對數組進行排序,從最早到最新,反之亦然? const arr = [ {id: 1, value : "value1", date: "2018-08-08", time: "15:27:17"}, {id: 2, value : "value2", date: "2018-08-09", time: "12:27:17"}, {id: 3, value : "value3", date: "2018-08-10", time: "17:27:17"}, {id: 4, value : "value4", date: "2018-08-10", time: "01:27:17"}, {id: 5, value : "value5", date: "2018-08-10", time: "09:27:17"}, {id: 6, value : "value6", date: "2018-08-10", time: "23:27:17"}, {id: 7, value : "value7", date: "2018-08-10", time: "16:27:17"}, {id: 8, value : "value8", date: "2018-08-11", time: "10:27:17"} ]; arr.sort((a, b) => a.date.localeCompare(b.date) || a.time.localeCompare(b.time)); console.log(arr);
這是在控制台上輸出的結果:
2. 若要排序為降序,只需切換as和bs:
const arr = [ {id: 1, value : "value1", date: "2018-08-08", time: "15:27:17"}, {id: 2, value : "value2", date: "2018-08-09", time: "12:27:17"}, {id: 3, value : "value3", date: "2018-08-10", time: "17:27:17"}, {id: 4, value : "value4", date: "2018-08-10", time: "01:27:17"}, {id: 5, value : "value5", date: "2018-08-10", time: "09:27:17"}, {id: 6, value : "value6", date: "2018-08-10", time: "23:27:17"}, {id: 7, value : "value7", date: "2018-08-10", time: "16:27:17"}, {id: 8, value : "value8", date: "2018-08-11", time: "10:27:17"} ]; arr.sort((a, b) => b.date.localeCompare(a.date) || b.time.localeCompare(a.time)); console.log(arr);
這是在控制台上輸出的結果,如果圖片無法顯示,復制代碼到控制台輸出即可觀察到變化