在函数调用中中断或继续循环
Break or continue loop within function calls
我的问题是:如何通过调用函数触发break;
或continue;
的循环?问题是,我不想在循环中嵌套所有可能的条件以避免代码复杂性。我在想一些伪例子:
var someObjects = [...] //array with some js objects
for (var i = 0; i < someObjects.length; i++) {
var element = someObjects[i];
doSomething(element);
}
function doSomething(object) {
//some code here
if (somethingIsDefined) {
doSomethingElse(object);
}
}
function doSomethingElse(anotherObject) {
//some more code here
if (somethingMatches) {
//here i would like to break the most upper loop
}
}
//someObjects will be processed
我知道可以引入一个布尔变量,并在循环中检查它是真还是假,并根据它,break;
或continue;
.
但是这-即使它只是一行-会增加嵌套。你认为有什么可能的解决方案吗?
如果您正在使用我推荐的Underscore库,您可以编写以下内容:
_.any(someObjects, doSomething);
function doSomething(object) {
//some code here
return somethingIsDefined &&
doSomethingElse(object);
}
function doSomethingElse(anotherObject) {
//some more code here
return somethingMatches;
}
相关文章:
- 如何让foreach循环等待$http.get完成后再继续
- 试图使循环退出,但它目前只是继续循环100次
- JavaScript:如何在 for 循环期间跳过数组中的当前项目?(继续?
- 如果我不这样做会发生什么;t有页码吗?继续循环帖子..为什么需要分页,对于页脚
- 在执行时间循环中使用继续
- 在继续循环之前完成设置超时
- 防止在 jquery ajax 直到加载时继续循环
- 柔性滑动器2在一个方向上继续循环而不工作
- 我怎样才能让旋转木马继续循环
- 中断条件以继续循环
- 在继续循环之前,获取要完成的回调
- 如何使滑块在元素结束时继续循环(如何包裹滑块)
- 如何使我的滑块继续循环
- 只有当异步获取请求完成时,才能继续循环
- 在函数调用中中断或继续循环
- jQuery在ajax成功后继续循环执行
- 等待AJAX完成后再继续循环
- jquery.each在继续循环之前等待函数完成
- jQuery 在 ajax 结束时继续循环
- 为什么这段代码继续循环?