Groyreg
@Groyreg
Front-end

Сортировка строк js?

Добрый день. Есть столбец таблицы с артикулами вида:

BY.S.100001
AT.Y.100002
FM.O.100003
BY.S.100004

первые 2 буквы это страна, потом идет тип и номер товара. Формат данных всегда такой.

Подскажите, как правильно написать функцию сортировки для данного столбца?
Пример: https://jsfiddle.net/xpvt214o/21625/

Сортировка необходима как по алфавиту(вверх вниз) так и по возрастанию - убыванию
Спасибо.
  • Вопрос задан
  • 1649 просмотров
Решения вопроса 1
@lemme
Frontend
Самый простой способ:

1) Добавляем новый элемент, пусть sorted
2) сортируем массив
3) проходим по сортированному массиву и перемещаем элемент в sorted

$elements
  .sort((a, b) => $(a).text() > $(b).text())
  .forEach(el => $('.sorted').append($(el))


Если нужно специфично сортировать, то можно разбить строку на части и там уже сортировать

const [aCountry, aType, aId] = $(a).text().split('.')
const [bCountry, bType, bId] = $(b).text().split('.')

return Number(aId) - Number(bId) //etc
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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