我的日期格式是這樣的:Mon Mar 07 2022,我想顯示最新資料。我已經嘗試過這種方式,但它不起作用。
如果我將 new Date() 放入我的代碼中,則會收到此錯誤:var Date: DateConstructor new (value: string | number | Date) => Date ( 3 overloads) The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
useEffect(() => {
setIsLoading(true)
fetch(`http://localhost:5000/dashboard/orders`)
.then(res => res.json())
.then(data => {
const latestData = data.sort((a, b) => b.date - a.date)
// const latestData = data.sort((a, b) => new Date(b.date) -new Date( a.date)) // error
setOrders(latestData)
})
.finally(() => setIsLoading(false))
}, [])
uj5u.com熱心網友回復:
請嘗試這種方式
data.sort(function(a,b){
return new Date(b.date) - new Date(a.date);
});
uj5u.com熱心網友回復:
這是一個打字稿錯誤,排序比較器函式只接受數字。
注意:如果沒有 getTime,它可以在 javascript 中作業。
const data = [{
date: "Mon Mar 07 2022",
},
{
date: "Mon Mar 01 2022",
},
{
date: "Mon Mar 06 2022",
},
];
const latestData = data.sort(
(a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()
);
console.log(latestData);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/439776.html
標籤:javascript 数组 反应 排序 反应打字稿
