Блог
Текстовые утилиты

Сортировка строк по алфавиту

Вставьте список, по одному пункту на строку, — и все строки сортируются от А до Я на каждое нажатие клавиши. Включите natural-сортировку, чтобы числа внутри строк упорядочивались как ожидается (2 перед 10), и регистронезависимое сравнение, чтобы «яблоко» и «Яблоко» оказались рядом.

Результат

Строк отсортировано

У этой страницы вообще нет серверной части. Вставленная таблица разбирается кодом JavaScript внутри вашего же браузера, график рисуется на элементе canvas на вашей машине, файл экспорта собирается локально. Ничего не загружается, не хранится и не пишется ни в какие логи. После загрузки страницы можно отключить сеть — всё продолжит работать, и это самый простой способ проверить обещание самостоятельно.

Факты и границы применимости

Направление По возрастанию, А→Я (для Я→А есть отдельная утилита — обратная сортировка)
Сравнение По кодовым точкам Unicode по умолчанию, либо locale-зависимый natural-порядок при включённой опции
Регистр По умолчанию не учитывается: «яблоко» и «Яблоко» считаются равными
Пустые строки Сортируются вместе с остальными — обычно оказываются в самом верху
Дубликаты По умолчанию сохраняются; флажок убирает повторы после сортировки
Устойчивость Равные строки (после приведения регистра) сохраняют исходный порядок друг относительно друга

Когда этот метод вводит в заблуждение

Как это считается

Текст разбивается на строки по переносам, затем прогоняется через Array.sort с компаратором, который вы настраиваете флажками выше.

При включённом регистронезависимом сравнении обе сравниваемые строки приводятся к нижнему регистру перед сравнением, поэтому видимый регистр не влияет на порядок — только буквы и их последовательность.

Natural-сортировка переключается на localeCompare с числовым режимом, который воспринимает последовательность цифр как одно число, а не сравнивает их посимвольно, поэтому «пункт 9» окажется перед «пункт 10».

Когда включено удаление дубликатов, оно выполняется после сортировки: строки, равные при текущей настройке регистра, схлопываются в одну — остаётся первая из встретившихся.

Вопросы и ответы

Сортируются строки или слова?

Строки. Каждая строка входного текста становится одним элементом для сортировки. Чтобы отсортировать отдельные слова, используйте утилиту сортировки слов по алфавиту.

Как отсортировать в обратном порядке, Я→А?

Используйте утилиту «Обратная сортировка по алфавиту» — та же логика в обратном направлении, со своими настройками регистра и natural-сортировки.

Почему «10» оказывается перед «2»?

Это обычная текстовая сортировка: посимвольно «1» меньше «2», поэтому «10» идёт первым. Включите natural-сортировку, чтобы получить числовой порядок.

Что происходит с пустыми строками?

Они считаются обычными (пустыми) строками и сортируются вместе со всеми остальными — обычно оказываются в самом верху.

Мой список куда-то отправляется?

Нет. Сортировка целиком выполняется в вашем браузере, ничего не отправляется на сервер.

Похожие утилиты

Все утилиты