将字母比较函数转换为日期比较函数

时间:2018-05-22 13:21:47

标签: javascript typescript sorting date compare

我正在使用Mat List来显示大量数据。 mat列表用于根据列值对数据进行排序。

我有这个工作比较函数,它根据输入类型对字母或数字进行排序:

function compare(a, b, isAsc) {
  return (a < b ? -1 : 1) * (isAsc ? 1 : -1);
}

该表按此函数排序:

this.sortedData = data.sort((a, b) => {
        const isAsc = sort.direction === 'asc';
        switch (sort.active) {
            case 'OrderId':
                return compare(+a.OrderId, +b.OrderId, isAsc);
            case 'Site':
                return compare(a.Site, b.Site, isAsc);
            case 'OrderDate':
                return compare(a.OrderDate, b.OrderDate, isAsc);
            case 'Email':
                return compare(a.Email, b.Email, isAsc);
            case 'Phone':
                return compare(a.Phone, b.Phone, isAsc);
            case 'FullName':
                return compare(a.FullName, b.FullName, isAsc);
            default:
                return 0;
        }
    });

这是按预期工作的,但是我想按时间顺序以相同的方式对date属性进行排序。我怎样才能做到这一点?我基本上只需要一个工作比较功能,它支持&#39; isAsc&#39; - 升序为真,下降为假。

可以使用

将a.Orderdate变量解析为日期
new Date(a.OrderDate)

因为它是转换为字符串的日期。

0 个答案:

没有答案