我有一个对象TaskItemVO
,其字段dueDate
的类型为Date
:
export class TaskItemVO {
public dueDate: Date;
}
我有这个方法,当我试图按日期排序,但它不工作时,我调用:
public sortByDueDate(): void {
this.myArray.sort((a: TaskItemVO, b: TaskItemVO) => {
return a.dueDate - b.dueDate;
});
}
我在方法的返回行中得到这个错误:
算术运算的右侧必须是“any”、“number”或枚举类型。
算术运算的左侧必须是“any”、“number”或枚举类型。
那么,在TypeScript中按日期字段对数组排序的正确方法是什么?
4条答案
按热度按时间2o7dmzc51#
尝试使用Date.getTime()方法:
^以上抛出未定义日期的错误,请尝试以下操作:
编辑
如果要处理未定义:
ffscu2ro2#
作为可能的解决方法,您可以在此处使用一元
+
运算符:一元加号(+)将操作数(
new Date()
)转换为数字。91zkwejq3#
我认为最好使用
valueOf
根据文件:/**返回自1970年1月1日午夜以来存储的时间值(以毫秒为单位)。*/
2ledvvac4#
如果你遇到了上面接受的答案的问题。我让它通过创建一个新的日期和传入日期参数来工作。