...

Метод dateSort

Тема в разделе "Примеры сценариев", создана пользователем kirillovykh, 28 май 2024.

Метки:
  1. kirillovykh

    kirillovykh Участник

    При разработке решений может возникнуть необходимость сортировки массива по дате и времени.

    Для удобства разработки и переиспользования сортировка вынесена в методы для системных типов TDate и TDatetime с возможностью указания порядка сортировки.
    Немного упрощенное сравнение значений на подобие логике сравнения дат на фронте.

    Код:
    
    function dateSort(aTDate undefinedbTDate undefinedascending true) {
        return 
    datetimeSort(a?.asDatetime(new TTime(0000)), b?.asDatetime(new TTime(0000)), ascending);
    }
    function 
    datetimeSort(aTDatetime undefinedbTDatetime undefinedascending true) {
        const 
    a?.asDate() ?? new Date(-8640000000000000);
        const 
    b?.asDate() ?? new Date(-8640000000000000);

        return 
    ascending x.valueOf() - y.valueOf() : y.valueOf() - x.valueOf();
    }