Javascript 排序函数错误:"算术运算的右侧必须是类型'any'、'number'、'bigint' 或枚举类型"



TS在我的Angular 7项目中为下面的排序函数提供了一个错误。错误消息为:"算术运算的右侧必须是'any'、'number'、'bigint'或枚举类型'"。

从技术上讲,如果我注释掉函数,然后运行应用程序,这将起作用。一旦应用程序运行,我就可以取消对该函数的注释,并且一切都按预期进行,包括排序函数。

基本上,我试着按降序对日期进行排序。

this.SortArray = this.project.Attributes.sort(function (a, b) {
return new Date(a.EffDate) - new Date(b.EffDate);
});

在排序函数中使用以下内容:

return new Date(a.EffDate).getTime() - new Date(b.EffDate).getTime();

TypeScript定义禁止直接比较日期,因此必须先将它们转换为数字。

最新更新