Как добавить еще сортировку по number?

Здравствуйте
Есть код fiddle

В данном случае не проходит тест
console.log(sortByExt(['1.cad', '1.bat', '1.aa', '2.bat']))


Сейчас ["1.aa", "2.bat", "1.bat", "1.cad"]
Необходимо ['1.aa', '1.bat', '2.bat', '1.cad']

Подскажите, как сделать чтобы сортировка также была по названию файла, но приоритет был бы у сортировки для расширения файла?
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
@StockholmSyndrome
function sortByExt(files) {
    function getFileInfo(val) {
        const arr = val.split('.'); 
        return {
            ext: arr.pop(), 
            name: arr.join('.')
        }
    }

    function compare(s1, s2) {
        if (s1 < s2) {
            return -1; 
        }

        if (s1 > s2) {
            return 1; 
        }

        return 0;
    }

    return files.sort((a, b) => {
        const {ext: aExt, name: aName} = getFileInfo(a); 
        const {ext: bExt, name: bName} = getFileInfo(b); 

        return compare(aExt, bExt) || compare(aName, bName);
    });
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект