[英]How can I stop a loop without leaving it (no 'break')
例如我有这个:
for (i = 0; i < wLength; i++) {
if(dummy === word.charAt(i)) {
letters[i] = dummy;
//cs == 0 ? score1++ : score2++
} else {
fail++
break;
}
}
它会增加'fail'
到'wLength'
,但是我只希望它每次迭代增加一次(如果'dummy'
为假)并且不使用break(因为它将离开整个循环)。
您可以尝试“继续”。 它将不离开而进入下一轮循环。
for(i = 0; i < wLength; i++){
if(dummy === word.charAt(i)) {
letters[i] = dummy;
//cs == 0 ? score1++ : score2++
}
else {
fail++;
continue;
}
}
您可以始终使用“ while”循环而不是“ for” IE:
var n = 0;
var x = 0;
while (n < 3) {
n++;
x += n;
}
您有语法错误fail++
(分号在哪里)tha是为什么如果条件失败后它将停止的原因
for(i = 0; i < wLength; i++){
if(dummy === word.charAt(i)) {
letters[i] = dummy;
//cs == 0 ? score1++ : score2++
}
else {
fail++;
}
}
您可以使用标志变量来满足您的要求
let flag = true
for (i = 0; i < wLength; i++) {
if(dummy === word.charAt(i)) {
letters[i] = dummy;
//cs == 0 ? score1++ : score2++
}else if (flag) {
flag = false
}
}
if (!flag) fail+=1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.