Используя js, я хотел бы создать абзац, состоящий из случайно упорядоченного списка элементов (в форме абзаца) для простого веб-сайта.
Таким образом, вход будет:
яблоки
бетон
конечное количество счастья
Северная Каролина
и полученный рандомизированный параграф будет выглядеть так:
бетон, Северная Каролина, конечное количество счастья, яблоки.
var list = [
'apples',
'concrete',
'a finite amount of happiness',
'North Carolina'
];
var paragraph = list.sort(function() { return Math.random() - 0.5 }).join(', ');
Функция тасования не является по-настоящему случайной, но она достаточно хороша для ваших целей.
Создайте массив, в котором хранятся пользовательские входы, и массив, который пуст, но имеет ту же длину, что и массив ввода. Каждый раз, когда вы добавляете новое значение, используя случайное число в качестве индекса массива из входов, добавьте это значение в индекс случайного числа ко второму пустому массиву. Когда второй изначально пустой массив заполняется, вы знаете, что используете все значения и в случайном порядке.
Первый массив - это получить значения ввода и сколько их есть. Второй массив строго используется, чтобы просто следить за тем, что было использовано, и тем, что еще не было.