Задать вопрос

Как объединить сортировки для массива?

Здравствуйте
Есть код fiddle
Подскажите, как объединить сортировку по числам и строкам?
По отдельность все работает
  • Вопрос задан
  • 95 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
function sortByExt(files) {
  return files.map(fileName => {
    const p = fileName.indexOf('.');
    const name = +fileName.slice(0, p);
    const ext = fileName.slice(p + 1);
    return [fileName, name, ext];
  }).sort(([, nameA, extA], [, nameB, extB]) => (extA < extB
    ? 1
    : (extA > extB ? -1 : nameA - nameB)
  )).map(([fileName]) => fileName);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы