我有两个for循环想从两个循环退出我的控件在内循环看到下面的代码
for(condition)
{
for (condition)
{
if(condition)
from here i want to exit from these loops
}
}
答案 0 :(得分:8)
JS使用语句标签来赋予语句标识符。这非常适合在嵌套循环中使用,因为它可以让你的内部语句控制超出其循环“层”的内容。语句标签可以与continue或break语句一起使用。
所以你的代码可以是:
someName:
for(condition)
{
for (condition)
{
if(condition)
if (condition) {
break someName; // exit outer loop
}
}
}
有关详细信息,请参阅MDN "label"。
答案 1 :(得分:2)
虽然jpau的配方很好并且让人联想到C / C ++,但我更喜欢含有curry's味道的配方。
只需将循环包裹在IIFE。
中(function(){
for(condition) {
for (condition) {
if(condition) {
// do whatever here
return;
}
}
}
})()
因为function是JavaScript中的第一类对象,所以你可以利用IIFE而不诉诸于lalels。
答案 2 :(得分:1)
有一面旗帜,旗帜是否会突破两者。
var flag = true;
for(condition && flag)
{
for (condition && flag)
{
if(condition) {
flag = false;
break;
}
}
}
答案 3 :(得分:1)
将嵌套循环写入单独的函数,然后使用return
从任何位置退出循环,而不是break
。
function myFunction()
{
for(condition)
{
for (condition)
{
if(condition)
if (condition)
{
return;
}
}
}
}