我有一个包含日期格式的对象数组。代码只能用于日期排序,而不能用于月份和年份排序
我的代码
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))
);