Посимвольный случайный вывод кириллицы
Друзья, изучаю js и пишу скрипт, но в ходе написания столкнулся с проблемой. Обшарил весь этот сайт и Гугл - конкретного решения нет. Задача: необходимо вывести случайный элемент из массива и повторить это тысячу раз, не прерывая строки. Я хочу сделать это по нажатию кнопки, чтобы не обновлять страницу для получения нового результата, но даётся с огромной сложностью понимание вывода информации к пользователю(return, result etc). Буду рад, если поможете объяснить, как добиться поставленной цели. Вот кусок кода, что мне удалось слепить на данный момент.
function randomInteger(min, max) { var rand = min + Math.random() * (max + 1 - min); rand = Math.floor(rand); return rand; } var alphabet = ["А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я", "а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", " ", " ", " ", " ", ",", "."]; var i = 0; for (i; i<1000; i++) { document.write(); } |
|
бредогенератор текста
Paramonov,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <input type="button" id="button" value="Кнопка" /> <div id="text"></div> <script> var alphabet = ["А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я", "а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", " ", " ", " ", " ", ",", "."]; function createStr(num, arr) { var str = ''; for (var i = 0; i < num; i++) { var a = Math.floor(Math.random() * arr.length); str += arr[a] } return str } button.onclick = function() { text.innerHTML = createStr(1000, alphabet) }; </script> </body> </html> |
<input type="button" id="button" value="Кнопка" /> <div id="text"></div> <script> var rnd =(min, max)=> Math.floor(Math.random() * (max - min)) + min; var arr = [' ',',','.']; button.onclick = function() { var str = '', i = 1000; while (i--) { var num = rnd(1040, 1107); if(num<=1103) str+= String.fromCharCode(num); else str+= arr[num-1104]; } text.innerHTML = str; }; </script> |
Недавно тоже столкнулся с похожей задачей нужна была рандомная строка для запроса multipart/form-data
<!DOCTYPE html><html><head> <meta charset="utf-8"></head> <body> <input type="button" id="but" value="Кнопка" /> <div id="textout"></div> <script> var createStr = (p,str)=> { // Функция возвращает "p" случайно выбранных символов из строки "str" let r = ''; while(--p) { r += str[ Math.round ( Math.random()*(str.length-1)) ] } return r}; but.onclick = function() { textout.innerHTML = createStr(1000, "Эй, жлоб! Где туз? Прячь юных съёмщиц в шкаф.") }; </script> |
Спасибо большое!
|
Я продолжаю работать над этим алгоритмом и мне нужно было ловить количество итераций, за которое алгоритм выведет нужное значение. С двумя символами работает прекрасно, но уже на трёх зависает наглухо. И мне бы понять, оно насовсем или мощностей каких не хватает, датчика прогресса то нет. Самое плохое, что я хотел сделать проверку на тысячу символов, а тут три зависают. Есть мысли у вас, как это обойти?
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <input type="button" id="button" value="Значение" /> <div id="text"></div> <div id=iterations></div> <script> var alphabet = ["А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я", "а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", " ", " ", " ", " ", " ", " ", " ", " ", ",", "."]; function createStr(num, arr) { var str = ''; for (var i = 0; i < num; i++) { var a = Math.floor(Math.random() * arr.length); str += arr[a] } return str } button.onclick = function() { var iter1 = 0; text.innerHTML = 'f'; var elem = iterations.innerHTML = iter1; while (text.innerHTML != 'Рай') { iter1++; text.innerHTML = createStr(3, alphabet); var elem = iterations.innerHTML = iter1; } }; </script> </body> </html> |
Paramonov,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <input type="button" id="button" value="Значение" /> <div id="text"></div> <div id=iterations></div> <script> var alphabet = ["А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я", "а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", " ", " ", " ", " ", " ", " ", " ", " ", ",", "."]; function createStr(num, arr) { var str = ''; for (var i = 0; i < num; i++) { var a = Math.floor(Math.random() * arr.length); str += arr[a] } return str } button.onclick = function() { var iter1 = 0, str = ''; while (str != 'Рай') { iter1++; str = createStr(3, alphabet); } text.innerHTML = str; iterations.innerHTML = iter1; }; </script> </body> </html> |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 15:16. |