我想在将项目推送到数组时对日期和时间进行排序。到目前为止,我只能对日期进行排序,但无法对时间进行排序。如果同一日期有两次,那么如何先对日期进行排序,然后再对该日期的时间进行排序。
let items = [
{'id': 'id7', 'date': '2020-08-17', 'time': '05:02:54.000'},
{'id': 'id2', 'date': '2020-05-12', 'time': '02:09:57.000'},
{'id': 'id3', 'date': '2020-05-12', 'time': '03:04:44.000'}, //both the 2020-05-12 date has two timings so I want to sort these time too along with the date
{'id': 'id4', 'date': '2020-09-23', 'time': '07:16:23.000'}
];
const headers = [
'ID',
'Date',
'Time'
];
dataArr = []
items.forEach(item => {
dataArr.push([
item.id,
item.date,
item.time
]);
})
;
let sortedData = [headers, ...dataArr.sort((a, b) => a[1].localeCompare(b[1]))];
最终排序的数组必须看起来像
['id': 'id2', 'date': '2020-05-12', 'time': '02:09:57.000'],
['id': 'id3', 'date': '2020-05-12', 'time': '03:04:44.000'],
['id': 'id7', 'date': '2020-08-17', 'time': '05:02:54.000'],
['id': 'id4', 'date': '2020-09-23', 'time': '07:16:23.000']
幕布斯7119047
12345678_0001
慕桂英3389331
相关分类