使用 "moment" 进行排序
function sortDate(dateA, dateB, direction = 'asc') {
const formats = ['DD-MM-YYYY'];
return (moment(dateA, formats).isBefore(moment(dateB, formats)) ? -1
: moment(dateA, formats).isAfter(moment(dateB, formats)) ? 1 : 0) * (direction === 'asc' ? 1 : -1)
}
例子:
const array = [
{
name: 'john',
date: '21-07-2020',
car: 'bmw'
},
{
name: 'fred',
date: '14-10-2020',
car: 'tesla'
},
{
name: 'bed',
date: '15-10-2020',
car: 'ferrari'
},
{
name: 'j',
date: '12-10-2020',
car: 'rolls royce'
}
];
array.sort((a, b) => sortDate(a.date, b.date));
array.sort((a, b) => sortDate(a.date, b.date, 'desc'));