打破 JavaScript 中嵌套循环的最佳方法是什么?

新手上路,请多包涵

打破 Javascript 中的嵌套循环的最佳方法是什么?

//Write the links to the page.
for (var x = 0; x < Args.length; x++)
{
   for (var Heading in Navigation.Headings)
   {
      for (var Item in Navigation.Headings[Heading])
      {
         if (Args[x] == Navigation.Headings[Heading][Item].Name)
         {
            document.write("<a href=\""
               + Navigation.Headings[Heading][Item].URL + "\">"
               + Navigation.Headings[Heading][Item].Name + "</a> : ");
            break; // <---HERE, I need to break out of two loops.
         }
      }
   }
}

原文由 Gary Willoughby 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 802
2 个回答

就像 Perl,

 loop1:
 for (var i in set1) {
 loop2:
 for (var j in set2) {
 loop3:
 for (var k in set3) {
 break loop2; // breaks out of loop3 and loop2
 }
 }
 }

如 EMCA-262 第 12.12 节所定义。 [MDN 文档]

与 C 不同,这些标签只能用于 continuebreak ,因为 Javascript 没有 goto

原文由 ephemient 发布,翻译遵循 CC BY-SA 4.0 许可协议

将其包装在一个函数中,然后只是 return

原文由 swilliams 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题