Я использую список матов для отображения большого количества данных.Список матов используется для упорядочения данных в зависимости от значений столбца.
У меня есть эта рабочая функция сравнения, которая сортирует буквы или цифры в зависимости от типа ввода:
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 таким же образом, в хронологическом порядке.Как я могу это сделать?В основном мне просто нужна рабочая функция сравнения, которая поддерживает 'isAsc' - True для восходящего и false для нисходящего.
Переменная a.Orderdate может быть проанализирована до даты с
new Date(a.OrderDate)
Поскольку это дата, преобразованная в строку.