Javascript continue在嵌套for循环中做什么?
我有以下代码:Javascript continue在嵌套for循环中做什么?,javascript,for-loop,Javascript,For Loop,我有以下代码: for (var i in players) { for (var x in players[i].bullets) { for (var y in xpBoosts) { if (something === true) { // do something continue; } } } } continue语句将做什么
for (var i in players) {
for (var x in players[i].bullets) {
for (var y in xpBoosts) {
if (something === true) {
// do something
continue;
}
}
}
}
continue语句将做什么?它将循环最内层的for循环还是最外层的for循环
有没有办法让continue语句循环到下一个项目符号?在您的特定代码中
continue
没有任何作用
continue
是一个关键字,它将退出循环的当前迭代并继续下一个迭代
例如:
for(i=1;i在您的特定代码中continue
不起任何作用
continue
是一个关键字,它将退出循环的当前迭代并继续下一个迭代
例如:
对于(i=1;i编辑:我将在这里留下我的答案,但我更喜欢
continue
只会转到最内层的for
循环的下一次迭代
对于每个项目符号,可以有一个初始化为false
的变量。如果继续内部循环,则可以将其标记为true
for (var x in players[i].bullets) {
var skipThisBullet = false;
for (var y in xpBoosts) {
if (something === true) {
// do something
skipThisBullet = true;
continue;
}
}
if (skipThisBullet) continue;
}
编辑:我将在这里留下我的答案,但我更喜欢
continue
只会转到最内层的for
循环的下一次迭代
对于每个项目符号,可以有一个初始化为false
的变量。如果继续内部循环,则可以将其标记为true
for (var x in players[i].bullets) {
var skipThisBullet = false;
for (var y in xpBoosts) {
if (something === true) {
// do something
skipThisBullet = true;
continue;
}
}
if (skipThisBullet) continue;
}
continue
终止其所在循环的当前迭代。若要终止另一个循环的迭代,请将其与标签一起使用:
for (var i in players) {
bullets: for (var x in players[i].bullets) {
for (var y in xpBoosts) {
if (something === true) {
// do something
continue bullets;
}
}
}
}
continue
终止其所在循环的当前迭代。若要终止另一个循环的迭代,请将其与标签一起使用:
for (var i in players) {
bullets: for (var x in players[i].bullets) {
for (var y in xpBoosts) {
if (something === true) {
// do something
continue bullets;
}
}
}
}
默认情况下,continue
和break
应用于最里面的循环。在特定代码中,它将继续此循环:
for (var y in xpBoosts) {
但是,可以通过标签自定义此行为。例如:
outerLoop:
for (var i = 0; i < someVal; i++){
middleLoop:
for (var j = 0; j < someOtherVal; j++){
innerLoop:
for (var k = 0; k < yetAThirdVal; k++){
continue;//skip to next iteration of innerLoop
continue innerLoop;//skip to next iteration of innerLoop
continue middleLoop;//skip to next iteration of middleLoop
continue outerLoop;//skip to next iteration of outerLoop
}
}
}
outerLoop:
for(var i=0;i
希望这有帮助!默认情况下,继续
和中断
应用于最里面的循环。在您的特定代码中,它将继续此循环:
for (var y in xpBoosts) {
但是,可以通过标签自定义此行为。例如:
outerLoop:
for (var i = 0; i < someVal; i++){
middleLoop:
for (var j = 0; j < someOtherVal; j++){
innerLoop:
for (var k = 0; k < yetAThirdVal; k++){
continue;//skip to next iteration of innerLoop
continue innerLoop;//skip to next iteration of innerLoop
continue middleLoop;//skip to next iteration of middleLoop
continue outerLoop;//skip to next iteration of outerLoop
}
}
}
outerLoop:
for(var i=0;i
希望这有帮助!你试过使用控制台。log
来解决它吗?我会尝试,谢谢tipmaybe a?你试过使用控制台。log
来解决它吗?我会尝试,谢谢tipmaybe a?我以前从未见过。你每天都会学到新东西。太棒了!回答不错,我要更新了我的标签为continue
但我看你已经涵盖了它!我以前从未见过这种情况。你每天都能学到新东西。太棒了!回答得好,我本来打算用标签为continue
更新我的,但我看你已经涵盖了它!