для цикла с несколькими условиями не работает (JS) - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь заставить этот цикл работать, чтобы получить кратные 5, которые меньше 1000 в массиве (да, только начало работы с euler), но он продолжает сбой моей консоли:

var multiploCincoArray = []; 

for(i = 1, r = i * 5; r < 1000; i++) {
    multiploCincoArray.push(r);
}
console.log(multiploCincoArray);

Я знаю, что что-то не так с условием остановки, но я не могу его найти.

Я знаю, что могу сделать это тоже:

var multiploCincoArray = []; 

for(i = 1; i <= 199 ; i++) { 
    multiploCincoArray.push(5 * i);
}
console.log(multiploCincoArray);

но я хочу следоватьпуть, показанный в первом скрипте (если возможно) ...

Ответы [ 5 ]

0 голосов
/ 14 февраля 2019

На правильном пути, но состояние в неправильном месте.Измените for(i = 1, r = i * 5; r < 1000; i++) на for(i = 1, r=5; r < 1000; r=i*5,i++)

Следует использовать let i и let r для области, но я оставил это для ясности.

0 голосов
/ 13 февраля 2019

Попробуйте это:

var multiploCincoArray = []; 

for(i = 5; i <= 1000; i = i + 5) { 

    multiploCincoArray.push(i);
}
console.log(multiploCincoArray);
0 голосов
/ 13 февраля 2019
 for(i = 1, r = i * 5; r < 1000; i++){

То же, что и:

 i = 1, r = i * 5

 while(r < 1000) i++;

Таким образом, на самом деле вы устанавливаете r только один раз (до 5), затем вы увеличиваете i, пока r меньше 1000, но, поскольку r не меняет цикл, он бесконечен и приводит к сбою браузера.

Вы можете просто сделать:

 for(let i = 5; i < 1000; i += 5)
0 голосов
/ 13 февраля 2019

Ваш подход кажется неправильным, imo.

Сначала начните с одной переменной i и повторяйте до 1000.

for (var i=1; i<1000; i++)

проверьте, является ли i кратным5 через i%5, если это так, нажмите значение в массиве.

var array = [];

for (var i=1; i<1000; i++) {
  if (i%5 === 0) {
    array.push(i);
  }
}

console.log(array);
0 голосов
/ 13 февраля 2019

Вы можете переместить расчет в условную часть.

var multiploCincoArray = [];
for (var i = 1, r; r = i * 5, r < 1000; i++) {
    multiploCincoArray.push(r);
}

console.log(multiploCincoArray);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...