有没有一种方法可以在所有嵌套循环之后放置一个标签,以便在一步中将它们全部打断
Is there a way to put a label AFTER all nested loops to break them all in one step?
我试图找到一种比这种方法更好地打破嵌套循环的方法
var found = false;
for(x=0; x<10; x++){
for(i=0; i<10; i++){
if(i===3){found =true; break;}; //break inner loop
};//end of inner loop (i)
if(found){break;}; // break outer loop
};//end of outer loop for(x)
然后我在这里找到了一个答案,建议使用标签来避免更多的中断和像这样的布尔值
//var found = false; // - using labels we saved this Boolean
exitlabel:
for(x=0; x<10; x++){
for(i=0; i<10; i++){
if(i===3){break exitlabel;}; //jump to the label
};//end of inner loop (i)
//if(found){break;}; // - using labels we SAVED this if statement
};//end of outer loop for(x)
但问题是我不能,只能在后标记这2个循环以退出它们。当我这样做时,浏览器告诉我找不到标签!像这样:
for(x=0; x<10; x++){
for(i=0; i<10; i++){
if(i===3){break exitlabel;};
};
};
exitlabel: // ERROR
在循环之前对接标签将使循环从一开始就再次执行,除非我在标签之后和循环之前使用if语句和布尔值来绕过2个循环,比如这个
var found = false;
exitlabel:
if(!found){
for(x=0; x<10; x++){
for(i=0; i<10; i++){
if(i===3){found =true; break exitlabel;};
};//end of inner loop (i)
};//end of outer loop for(x)
};// end of if statement
是否有一种方法可以保存布尔值,避免将循环包装在这样的IF语句中,并像C语言一样将标签放在2个循环之后?
如果这是一个愚蠢的问题,请考虑我是一个非常新手,谢谢
有没有一种方法可以在所有嵌套循环之后放置一个标签,以便在一步中将它们全部打断
通过使用break
语句,您可以打破外部循环。它不需要在之后。这使它在使用break exitlable
时立即停止。
一个简单的测试表明情况确实如此。
exitlabel:
for (x = 0; x < 10; x++) {
for (i = 0; i < 10; i++) {
document.querySelector("pre").textContent += " " + i
if (i === 3) {
break exitlabel;
}
}
}
document.querySelector("pre").textContent += " after loop";
<pre></pre>
并且在循环之前对接标签将使循环从一开始就再次执行
这不是真的。通过使用break
并引用附加到外部for
语句的标签,您告诉停止循环。它并没有告诉它从头开始。
您所描述的内容听起来更像goto
,JavaScript不支持它。
相关文章:
- 对父作用域的指令更新延迟了一步
- Parsley.js,多步骤表单,在移动到上一步时跳过验证
- 有没有一种方法可以在所有嵌套循环之后放置一个标签,以便在一步中将它们全部打断
- 如何禁用在Bootstrap中不完成一步就转到下一步
- 如何使用Jquery一步一步地获取PHP数据
- jQuery Slider 滑得太远了一步
- 将“下一步”和“上一个”按钮添加到较大的图像
- 引导表单向导 - 防止在提交 ajax 响应的每个页面表单出现错误时滚动到下一步
- 如何创建一个“下一步”按钮,使用 Java 脚本和 Twitter Bootstrap 切换选项卡
- 如何在单击下一步时使文本移动/更改
- 您如何控制在填写表单时单击下一步时 iOS/Android 将关注哪个字段
- JQuery SlideToggle()在放松的每一步都执行函数
- 对变更作出反应->setState落后一步
- AngularJS中的上一步
- Jquery UI选项卡-根据输入字段值,使用“下一步”/“上一步”按钮推进选项卡
- 我有一系列的处方受试者(a->B->C->a),但最后一步不起作用
- Jquery选项卡单击时高亮显示'下一步'按钮
- 如何解析用户对象以返回屏幕名称并继续下一步操作
- 如何点击谷歌饼图进入下一步行动
- 选择“下一步全部包括第 n 个子项条件”