Преобразование буквенной функции сравнения в функцию сравнения дат - PullRequest
0 голосов
/ 22 мая 2018

Я использую список матов для отображения большого количества данных.Список матов используется для упорядочения данных в зависимости от значений столбца.

У меня есть эта рабочая функция сравнения, которая сортирует буквы или цифры в зависимости от типа ввода:

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)

Поскольку это дата, преобразованная в строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...