对象数组如何按日期排序有特定的格式



我有一个包含日期格式的对象数组。代码只能用于日期排序,而不能用于月份和年份排序

我的代码

const bills = [
{
name: "ghaith",
type: "transport",
date: "12 may 21",
}, 
{
name: "Alex",
type: "Restaurants",
date: "15 oct 20",
}
];
bills.sort((a, b) => b.date < a.date ? 1 : -1)

从上面的注释…

"bills.sort((a, b) => new Date(a.date).getTime() - new Date(b.date).getTime())……哪个原因只适用于有效的日期速记格式…例如,OP最初提供的是"12 mai 21",而应该是"12 may 21"

const bills = [{
name: "ghaith",
type: "transport",
date: "12 may 21",
}, {
name: "Alex",
type: "Restaurants",
date: "15 oct 20",
}];
console.log(
bills.sort((a, b) =>
// new Date(a.date).getTime() - new Date(b.date).getTime()
// or directly without `getTime` ...
new Date(a.date) - new Date(b.date)
)
);
.as-console-wrapper { min-height: 100%!important; top: 0; }

你可以使用下面的代码来排序你的数组对象的日期有特定的格式:

const bills = [{
name: "ghaith",
type: "transport",
date: "12 may 21",
}, {
name: "Alex",
type: "Restaurants",
date: "15 oct 20",
}];

console.log(
bills.sort((a, b) => new Date(a.date) - new Date(b.date))
);

最新更新