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

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

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

Результат

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

Все вычисления выполняются локально в браузере: разбор, график, экспорт. Если отключите сеть, страница продолжит работать.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Все утилиты