#javascript
#javascript
Вопрос:
Приведенный ниже код используется для генерации случайного слова.
function randomInteger(min, max) {
return Math.floor(Math.random() * (max - min 1)) min;
}
function randomWord(length=6){
string = '';
vowels = ["a","e","i","o","u"];
consonants = [
'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm',
'n', 'p', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'
];
max = length / 2;
for (i = 1; i <= max; i )
{
string = consonants[randomInteger(0,19)];
string = vowels[randomInteger(0,4)];
}
return string;
}
Исходя из этого, я использую следующую функцию для создания предложения.
function randomSentence(tot=10){
returner = '';
for(j=0;j<tot;j ){
returner = returner " " randomWord();
}
return returner;
}
postContent = [];
for(a=0;a<10;a ){
postContent.push(randomSentence(5));
}
Значение i<10
— это то, что вызывает сбой программы, похоже, оно работает, когда значение установлено 5
равным .
Комментарии:
1. Всегда (и я имею в виду «всегда») объявляйте свои переменные с
let
помощью илиconst
илиvar
, чтобы охватить их соответствующим образом. В противном случае они являются глобальными и приводят к странным ошибкам , подобным той, с которой вы столкнулись. Вы используете одно и то жеi
в разных циклах. Редактировать Ну, теперь вы отредактировали свой вопрос для использованияa
во втором цикле, но, тем не менее, вы действительно должны это сделать2. @blex Мой плохой, это исправлено! Спасибо
3. Какую ошибку вы получаете при сбое?