继续嵌套 for 循环

Posted

技术标签:

【中文标题】继续嵌套 for 循环【英文标题】:Continue in nested for loops 【发布时间】:2019-11-17 21:24:29 【问题描述】:

我有 3 个 for 循环:

      for (var i = 0; i < ns_match.length; i++) 
        for (var j = 0; j < user_interest.length; j++) 
          for (var k = 0; k < ns_match[j].data().user_interest.length; k++) 
            if (user_interest[j] == (ns_match[i].data().user_interest)[k]) 
              ns_score[i] += 5;
            
          
        
      

我会添加一个逻辑,例如 if (user_interest[j] == (ns_match[i].data().user_interest)[k]) 为真,然后增加 j。

换句话说,我正在寻找诸如:if (user_interest[j] == (ns_match[i].data().user_interest)[k]) 之类的东西,如果这是真的,则跳出 K 循环,但在 J 循环中继续一个增量。

【问题讨论】:

是的,break; ...你有什么问题? 如果你想在下一次迭代时跳过循环体的其余部分,你只需要使用continue。但是身体里没有其他东西可以跳过。 您可以简单地将break; 放入您的if 语句中。这将打破k,并继续j 只是为了传递信息,您可以在 javascript 中为语句添加标签,例如 loop1: for(let i = 0; i&lt;10;i++) ....,然后从所述循环内的任何地方调用类似 continue loop1 的内容。虽然我认为这在这里不会特别有用,但它是很好的信息,而不是 Javascript 中经常记录的东西。 break 语句也是如此。 一般情况下,you can always use labels. 【参考方案1】:

使用 break 命令跳出当前循环块。

如果您需要跳出不同于最内层的循环,您可能需要研究所谓的“标签”

【讨论】:

以上是关于继续嵌套 for 循环的主要内容,如果未能解决你的问题,请参考以下文章

这将继续导致嵌套的 for 循环做啥?

Java for 嵌套循环

在 C 中的嵌套循环内继续

JS中for循环嵌套打印100以内3的倍数?

c语言中的循环的嵌套是怎么运行的

for 循环与嵌套