我有一个嵌套的foreach,如果满足条件,我想打破它。看来,使用return意味着执行从外部foreach(而不是内部)中突破:
angular.forEach(objectA, function(objA, key) {
angular.forEach(ObjectB, function(objB, key) {
if(foo !== bar) {
return;
}
});
});
我读到最好为此目的使用s native,所以我创建了这个小提琴,它可以根据需要用于:
https://jsfiddle.net/3dfx14nt/
但是,当我将逻辑应用于Angular应用程序时,其行为与Angular.foreach相同。返回内部foreach时,它会扩展到外部foreach。
答案 0 :(得分:1)
forEach
接受一个函数并针对数组中的每个元素运行它。您无法打破循环。如果要退出该函数的单个运行,请使用return
forEach
不支持中断,您应该使用return
如果希望能够中断循环,则必须使用 for..of
循环:
for(let name of group.names){
if (name == 'SAM') {
break;
}
}