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
更新我的,但我看你已经涵盖了它!