Результат
Все вычисления выполняются локально в браузере: разбор, график, экспорт. Если отключите сеть, страница продолжит работать.
Факты и границы применимости
| Направление | По возрастанию, А→Я (для Я→А есть отдельная утилита — обратная сортировка) |
|---|---|
| Сравнение | По кодовым точкам Unicode по умолчанию, либо locale-зависимый natural-порядок при включённой опции |
| Регистр | По умолчанию не учитывается: «яблоко» и «Яблоко» считаются равными |
| Пустые строки | Сортируются вместе с остальными — обычно оказываются в самом верху |
| Дубликаты | По умолчанию сохраняются; флажок убирает повторы после сортировки |
| Устойчивость | Равные строки (после приведения регистра) сохраняют исходный порядок друг относительно друга |
Когда этот метод вводит в заблуждение
- Сортировка чисто лексическая: без natural-сортировки «10» окажется перед «2», потому что символ «1» меньше символа «2» — включайте natural-сортировку, когда в списке есть числа, которые должны идти по числовому порядку.
- Регистронезависимое сравнение сворачивает буквы только для сравнения — исходный регистр каждой строки сохраняется в результате, «Яблоко» не превращается в «яблоко».
- Пробелы и знаки препинания в начале строки участвуют в сравнении: строка, начинающаяся с пробела или тире, окажется перед буквами. Если случайные пробелы не должны влиять на порядок, обрежьте их заранее.
- Сортировка не зависит от локали (обычный порядок кодовых точек), пока не включена natural-сортировка — тогда используется locale-зависимое сравнение браузера, и буквы с диакритикой могут упорядочиться не так, как вы ожидаете.
Как это считается
Текст разбивается на строки по переносам, затем прогоняется через Array.sort с компаратором, который вы настраиваете флажками выше.
При включённом регистронезависимом сравнении обе сравниваемые строки приводятся к нижнему регистру перед сравнением, поэтому видимый регистр не влияет на порядок — только буквы и их последовательность.
Natural-сортировка переключается на localeCompare с числовым режимом, который воспринимает последовательность цифр как одно число, а не сравнивает их посимвольно, поэтому «пункт 9» окажется перед «пункт 10».
Когда включено удаление дубликатов, оно выполняется после сортировки: строки, равные при текущей настройке регистра, схлопываются в одну — остаётся первая из встретившихся.
Вопросы и ответы
Сортируются строки или слова?
Строки. Каждая строка входного текста становится одним элементом для сортировки. Чтобы отсортировать отдельные слова, используйте утилиту сортировки слов по алфавиту.
Как отсортировать в обратном порядке, Я→А?
Используйте утилиту «Обратная сортировка по алфавиту» — та же логика в обратном направлении, со своими настройками регистра и natural-сортировки.
Почему «10» оказывается перед «2»?
Это обычная текстовая сортировка: посимвольно «1» меньше «2», поэтому «10» идёт первым. Включите natural-сортировку, чтобы получить числовой порядок.
Что происходит с пустыми строками?
Они считаются обычными (пустыми) строками и сортируются вместе со всеми остальными — обычно оказываются в самом верху.
Мой список куда-то отправляется?
Нет. Сортировка целиком выполняется в вашем браузере, ничего не отправляется на сервер.