Должна быть легкая ситуация массива
Мой вопрос не должен быть слишком сложным, но я еще не решил его. По сути, я пытаюсь получить сообщение (подобное этому), сохранить каждую букву в сообщении, но сгенерировать случайное сообщение, используя каждую букву. Итак, в настоящее время я могу читать в текстовое поле (скажем) "Привет!", Но мне нужно взять сообщение в этом текстовом поле и (по нажатию кнопки) иметь что-то вроде "lolH! E". Должен быть простой способ прочитать каждую букву в массив (или список, или что-то еще) и выложить их случайным образом, но при этом использовать каждую букву только один раз, как в исходном сообщении. Какие-нибудь мысли?
1 ответ
В JavaScript вы можете сделать что-то вроде этого:
function randomize(s){
var a = Array.from(s);
for(var j, x, i = a.length; i; j = parseInt(Math.random() * i), x = a[--i], a[i] = a[j], a[j] = x);
return a.join("");
}
Тогда используйте это как:
randomize("Hello!")
Здесь есть несколько других хороших решений: Как я могу перетасовать символы в строке в JavaScript?