@pavel_arz

Скажите, пожалуйста, что не так с этим кодом?

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

while(randomString.length < 6);
{
randomString += alphabet[randomSymbol];
randomSymbol++;
}
console.log(randomString);
  • Вопрос задан
  • 224 просмотра
Решения вопроса 2
JustSneaker
@JustSneaker
Front-end разработчик
Зачем вы поставили ; после инициализации цикла while?

Учите синтаксис
Ответ написан
0xD34F
@0xD34F Куратор тега JavaScript
Наверное, должно быть так:

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

while (randomString.length < 6) {
  randomString += alphabet[Math.floor(Math.random() * alphabet.length)];
}

console.log(randomString);

Что было не так:
  • Ошибка в имени свойства - lenght вместо length (randomSymbol в результате всегда изначально равен 0).
  • ; после условия в цикле while, что делало цикл бесконечным.
  • Получение случайного значения индекса всего один раз, вместо того, чтобы делать это при каждой итерации.
  • Неправильное использование метода random (он не принимает параметров), из-за чего randomSymbol всегда получает значение 0.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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