我写了一个程序,用javascript中的特定输出:
i = 2 j = 1
i = 3 j = 2
i = 1 j = 3
i = 2 j = 1
i = 3 j = 2
i = 1 j = 3
依旧......
但是下面的代码永远不会产生我需要的输出。
c=2;
for (i=c; i<=3; i++){
alert(i);
if(i==1){
j=3;
}else{
j=j-1;
}
alert(j);
if(i==3){
c=1;
continue;
}
}
答案 0 :(得分:0)
这似乎是一个简单的问题:你只需要用2个变量(i和j)计算1比1,差异就是你不从1开始。
你需要同时增加j和i。
// this for not making infinite loop
var nb_loop=0;
var max_loop=10;
var j=0;
for (var i=2; i<=3 ; i++){
nb_loop++;
j++;
console.log("i="+i+", j="+j); // or alert if you want
if (j>=3)
j=0;
if (i>=3)
i=0;
if (nb_loop>max_loop)
break;
}
注意:while循环可能比“for”
更好答案 1 :(得分:0)
我不知道你是否需要使用它,我重现你的输出(见控制台)
var c=1,
j = 2,
i = 0,
x = 2; // this a limit for loop to prevent infinite loop
for (c; c<=3; c++){
if(c == 1){
i = 2;
}else if(c == 2){
i = 3;
}else{
i = 1;
}
//alert("i="+i+" j="+c); uncomment to see alert
console.log("i="+i+" j="+c);
//you can change this condition to stop the loop where you need
if(c==3 && x != 0){
c = 1;
x--;
}
}
看到这个例子,也许可以帮助: http://jsfiddle.net/pvMby/1/