typescript 对React表中的日期排序

bxfogqkk  于 2023-03-09  发布在  TypeScript
关注(0)|答案(2)|浏览(158)

我正在尝试排序日期列。目前排序是字母顺序。下面是我的代码供您阅读。
JSON语言

[
  {
    "date": "Jun-2022"
  },
  {
    "date": "Jul-2022"
  },
  {
    "date": "Nov-2022"
  }
]
columns = [
                {
                    Header: 'MONTH',
                    accessor: 'date',
                    // sortType: (a:any, b:any) => {
                    //     return new Date(b.values.date) - new Date(a.values.date);
                        
                    // }
                },

错误消息为:算术运算的左边必须是"any"、"number"、"bigint"类型或枚举类型。ts(2362)

wtzytmuj

wtzytmuj1#

您需要将它们转换为数字格式,并使用回调函数调用排序。
这类官方文档将是一个很好的开始,请参见sort
我的解决方案如下。

const dateTable = [{
    "date": "Jun-2022"
  },
  {
    "date": "Nov-2022"
  },
  {
    "date": "Jul-2022"
  },
]

const numberFormat = (date) => {
  return new Date(date.date).getTime();
}

console.log(dateTable.sort((a, b) => numberFormat(a) - numberFormat(b)));
4xrmg8kj

4xrmg8kj2#

比较日期时,始终使用getTime()以数字格式显示时间。

const dateTable = [{
    "date": "Jun-2022"
  },
  {
    "date": "Nov-2022"
  },
  {
    "date": "Jul-2022"
  },
]
console.log(dateTable.sort((a, b) => (new Date(a.date).getTime() < new Date(b.date).getTime() ? -1 : 1)))

相关问题