Результат
У этой страницы вообще нет серверной части. Вставленная таблица разбирается кодом JavaScript внутри вашего же браузера, график рисуется на элементе canvas на вашей машине, файл экспорта собирается локально. Ничего не загружается, не хранится и не пишется ни в какие логи. После загрузки страницы можно отключить сеть — всё продолжит работать, и это самый простой способ проверить обещание самостоятельно.
Факты и границы применимости
| Область действия | Каждая строка перемешивается независимо — слова никогда не переходят из одной строки в другую |
|---|---|
| Алгоритм | Тасовка Фишера—Йетса применяется к словам каждой строки отдельно |
| Строки из одного слова | Остаются без изменений — переставлять нечего |
| Порядок строк | Не меняется — строка 3 остаётся строкой 3, меняется только порядок слов внутри неё |
| Границы слов | Разбиение по пробелам; прилегающая пунктуация перемещается вместе со словом |
| Повторный запуск | Нажмите «Перемешать ещё раз» для нового расположения тех же слов |
Когда этот метод вводит в заблуждение
- Это перемешивание построчно, а не по всему тексту — слова никогда не перепрыгивают между строками. Если нужно перемешать предложения по всему тексту, используйте перемешивание фраз.
- В строке из одного слова перемешивать нечего, поэтому она возвращается без изменений; то же самое для пустой строки.
- Пунктуация остаётся прикреплённой к тому слову, к которому примыкает: «лиса.» перемещается как единое целое, поэтому после перемешивания точка может оказаться в середине строки, а не в конце.
- Как и любое перемешивание на основе Math.random(), результат не является криптографически случайным — этого достаточно для словесных игр или творческих заданий, но не для задач, где нужна доказуемо честная случайность.
Как это считается
Текст разбивается на строки, и каждая строка обрабатывается отдельно: она разбивается на слова по пробелам с помощью регулярного выражения, с сохранением прилегающей пунктуации.
К списку слов именно этой строки применяется тасовка Фишера—Йетса — тот же несмещённый алгоритм, что используется в перемешивании списка, но запускаемый отдельно для каждой строки, поэтому перемешивания никогда не смешиваются между строками.
Перемешанные слова каждой строки склеиваются обратно одиночными пробелами, а затем строки снова соединяются переносами в исходном порядке.
«Перемешать ещё раз» заново запускает весь процесс для текущего текста, давая новое случайное расположение слов внутри каждой строки без необходимости что-либо перепечатывать.
Вопросы и ответы
Может ли слово переместиться на другую строку?
Нет. Перемешивание происходит строго внутри каждой строки — слово со строки 2 всегда остаётся на строке 2, возможно, лишь на другой позиции внутри неё.
Что происходит со строками из одного слова?
Ничего — одному слову не с кем меняться местами, поэтому такая строка возвращается без изменений.
Это то же самое, что перемешивание фраз?
Нет. Эта утилита перемешивает порядок слов внутри каждой строки, оставляя строки раздельными. Перемешивание фраз, наоборот, находит целые предложения по всему тексту и перемешивает их порядок.
Пунктуация перемещается вместе со словом, к которому прилегает?
Да — «забор,» считается единым целым и перемещается целиком, вместе с запятой.
Мой текст куда-то отправляется?
Нет. Перемешивание целиком выполняется в вашем браузере, ничего не загружается.