@orsodev

Как сделать генератор случайных строк JavaScript?

Начал изучать JavaScript, читаю книгу JavaScript для детей. Ник Морган
Там есть задача
#2. Генератор случайных строк
Напишите генератор случайных строк. Для этого вам понадобится строка со всеми буквами алфавита:

var alphabet = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";

Чтобы выбирать из этой строки случайную букву, можно использовать примерно такой же код, как для генератора случайных дразнилок из третьей главы:
Math.floor(Math.random() * alphabet .length).
Так вы получите случайный индекс в строке. Затем, воспользовавшись квадратными скобками, можно получить символ по этому индексу. Начните создавать случайную строку с пустой строки
(var randomstring = "").
Затем добавьте цикл while и при каждом его повторе добавляйте в строку новый случайный символ — до тех пор, пока длина строки randomstring не превысит шесть символов (или любой другой длины на ваш выбор). Добавлять символ в конец строки можно с помощью оператора +=. После того как цикл закончит работу, выведите получившуюся строку в консоль, чтобы полюбоваться на свое творение!

Начало вроде понятно, а дальше как сделать цикл не могу понять, помогите решить задачку

var alphabet = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
	var randomIndex = Math.floor(Math.random() * alphabet.length);

	var randomLetter = alphabet[randomIndex];
	console.log(randomLetter);
  • Вопрос задан
  • 21432 просмотра
Решения вопроса 2
@tsuchinoko
Тоже голову ломал, но в итоге получилось!
var abc = "abcdefghijklmnopqrstuvwxyz";
        var rs = "";
        while (rs.length < 6) {
            rs += abc[Math.floor(Math.random() * abc.length)];
        }
        console.log(rs);
Ответ написан
@Cheburashii
let alphabet = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя',
    word = '';
for(let i = 0; i < 6; i++){
    word += alphabet[Math.round(Math.random() * (alphabet.length - 1))];
}
console.log(word);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@NoTe_JS_LiFe
Вот более правильное решение!
var abc = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
var random = abc[Math.floor(Math.random() * abc.length)];
var newAbc = "";
      while (newAbc.length < 6) {
      alert(newAbc += random);
    random = abc[Math.floor(Math.random() * abc.length)];
    }
Ответ написан
var rndStroka = getAlphaNumericRandom(15);//Генерирует случайную последовательность из букв и цифр длиной 15 символов, причём первый символ строчная или заглавная буква, но не цифра.

Код функции доступен по ссылке: blog.ivru.net/?id=196
Ответ написан
Комментировать
@Misha2023
Почему такой вариант не работает?

const alphabet = "abcdefghjklmnopqrstuvwxyz";

let randomIndexLetter = Math.floor(Math.random() * alphabet.length);

// let randomLetter = alphabet[Math.floor(Math.random() * alphabet.length)];
let randomLetter = alphabet[randomIndexLetter];

let randomString = "";

while (randomString.length < 6) {
randomString += randomLetter;
}
console.log("ndomString :>> ", randomString);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы