Сортировать массив строк с числами в JavaScript - PullRequest
0 голосов
/ 05 марта 2020

У меня есть этот массив, который я хочу отсортировать:

['reactor-sum', 'reactor-sum-23', 'reactor-sum-15', '99', 'reform-match-5', 'reform-match', 'docker-rev']

Я хочу отсортировать его так, как я: 1) первые числа 2) отсортированные по алфавиту и, если есть числа в конец строки - поместите сначала строки без цифр, а затем строки с номерами, отсортированными по номерам.

Ожидаемый массив результатов:

['99',
'docker-rev',
'reactor-sum',
'reactor-sum-15'
'reactor-sum-23', 
'reform-match',
'reform-match-5']

До сих пор я пробовал такие вещи, как:

             const sortAlphaNum = (a, b) => a.localeCompare(b, 'en', { numeric: true });
             searchResults.sort(sortAlphaNum);

и обычный .sort (), но я не могу понять, Как добиться того, что я хочу.

У кого-нибудь есть идеи о том, как лучше отсортировать этот массив? Моя самая большая проблема заключается в размещении строк, не являющихся номерами, перед строками с такими номерами, как: [пример, пример1]

1 Ответ

0 голосов
/ 05 марта 2020

Обычный sort() должен работать из коробки. Посмотреть это jsFiddle

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