добавление второй переменной к первой во вложенном цикле

#javascript #loops #nested

#javascript #циклы #вложенный

Вопрос:

Что я здесь делаю не так, совершенно новичок в javascript и просто не понимаю. Попытка добавить значение переменной счетчика e в sum после каждой итерации sum .

 <script>
var sum = 0;
var e = 5;


for(sum = 0; sum < 5; sum  = e; sum   ){
for(e = 5; e >= 0; e-- ){
document.write("sum= "   sum   ", e= "   e   "<br>");
}
}
</script> 

Что я здесь делаю не так ☹

Комментарии:

1. Цикл for содержит 3 оператора, а не 4

2. Последняя часть в первом цикле должна выглядеть так ; sum = e, sum , чтобы быть синтаксически корректной

Ответ №1:

 let sum = 0; //Initialize sum with 0

for (let e = 1; e <= 5;   e) { //Start from 1 to 5 (included)
  sum  = e; //Add value of e to sum
} 

Обратите внимание, что цикл for должен содержать три утверждения:

Оператор 1 устанавливает переменную перед началом цикла (пусть e = 1).

Оператор 2 определяет условие для выполнения цикла (e должно быть меньше или равно 5).

Оператор 3 увеличивает значение ( e) каждый раз, когда выполняется блок кода в цикле.

Я предлагаю вам немного больше сосредоточиться на синтаксисе Javascript, есть много руководств по udemy, youtube, w3scooles и т. Д..

Ответ №2:

если я получил ваш вопрос, можете сделать так:

 for(; sum < 5; sum  = 1) {
  if (e >= 0) {
    console.log("sum= "   sum   ", e= "   e   "<br>");
    e -= 1
  }
} 

Ответ №3:

Это сокращение поможет вам понять, что происходит.

 var sum = 0;
var e = 5;

var count = 0;

for(sum = 0; sum < 5; sum  = e, sum   ) {
  for(e = 5; e >= 0; e-- ){
    document.write("sum= "   sum   ", e= "   e   "<br>");
    if (count === 20) break;
    count  ;
  }
  if (count === 20) break;
} 

Итак, sum всегда 0 и, следовательно, бесконечный цикл. Это происходит потому sum = e, sum , что ничего не делает. Потому что после завершения внутреннего цикла e становится -1 и так, sum = sum 1; sum = sum - 1 (this is e) не увеличивает sum .

Итак, возможно, это то, что вы ищете:

 var sum = 0;
var e = 5;

for(sum = 0; sum < 5; sum   ) {
  for(e = 5; e >= 0; e-- ){
    document.write("sum= "   sum   ", e= "   e   "<br>");
  }
} 

Комментарии:

1. Спасибо, Аджит Шах, я совершенно запутался в этих вложенных циклах: (

2. @bombsaway, если мой ответ вам помог. Пожалуйста, примите или проголосуйте