Javascript以奇数间隔循环

时间:2014-01-06 00:36:54

标签: javascript

好的,我正在处理循环分配这个问题。 我应该为前4个循环使用“while”循环,为剩余的15个循环使用“for”循环。问题是while循环中的前4个按顺序正确打印到控制台,就像它们应该的那样。

其余15只以奇数间隔IE打印到控制台:“5,7,9,11 ....”

我的for循环有什么问题?

var currentGen = 1;
var totalGen = 19;
var totalMW = 0;

while(currentGen <= 4){
  console.log("Generator #" + currentGen + " is on, adding 62 MW, for a total of " +         (totalMW = totalMW + 62) + " MW!");
  currentGen++;
  }

for(currentGen = 5; currentGen < 20; currentGen = currentGen + 1){
 console.log("Generator #" + currentGen + " is on, adding 62 MW, for a total of " + (totalMW = totalMW + 124) + " MW!");
  currentGen++;
  }

3 个答案:

答案 0 :(得分:4)

你们俩都有

currentGen = currentGen + 1

currentGen++;

所以每次迭代你都会增加2,而不是1.只需做一个或另一个。

答案 1 :(得分:0)

因为for循环有自己的增量部分。您不必在循环体中再次执行此操作

for(currentGen = 5; currentGen < 20; currentGen = currentGen + 1 ) { //incrementing
 console.log("Generator #" + currentGen + " is on, adding 62 MW, for a total of " + (totalMW = totalMW + 124) + " MW!");
  // currentGen++;    // Incrementing again
  }

答案 2 :(得分:0)

那是因为你不应该在for循环中使用currentGen ++行。 for循环执行变量增量部分。