我有一个像这样的对象数组:
[
{name: 'John Smith', date: '10:30 AM'},
{name: 'Jo Smith', date: '8:30 AM'},
{name: 'Ela Smith', date: '1:00 PM'},
{name: 'Dave Smith', date: '12:30 PM'},
{name: 'Elton Smith', date: '10:30 PM'}
]
我想对这些从最早到最新的使用进行排序,dayjs()
这是我们在项目的其余部分使用的,所以我必须坚持下去。
目前我正在尝试像这样使用这个功能:
dayjs.extend(isSameOrBefore);
dayjs.extend(customParseFormat);
const sortTime = (users) => {
return shifts.sort((a, b) =>
dayjs(a.date, 'h:mm A').isSameOrBefore(dayjs(b.date, 'h:mm A')) ? 1 : -1
);
};
我希望数组像这样排序:
[
{name: 'Jo Smith', date: '8:30 AM'},
{name: 'John Smith', date: '10:30 AM'},
{name: 'Elton Smith', date: '10:30 AM'},
{name: 'Dave Smith', date: '12:30 PM'},
{name: 'Ela Smith', date: '1:00 PM'}
]
但是,出于某种奇怪的原因,它的排序如下:
[
{name: 'Jo Smith', date: '8:30 AM'},
{name: 'Ela Smith', date: '1:00 PM'},
{name: 'John Smith', date: '10:30 AM'},
{name: 'Dave Smith', date: '12:30 PM'},
{name: 'Elton Smith', date: '10:30 AM'},
]
关于为什么以及如何解决这个问题的任何想法?