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