角度内部foreach中断/继续意外行为

时间:2020-10-01 22:41:07

标签: javascript angularjs

我有一个嵌套的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。

1 个答案:

答案 0 :(得分:1)

forEach接受一个函数并针对数组中的每个元素运行它。您无法打破循环。如果要退出该函数的单个运行,请使用return forEach 不支持中断,您应该使用return

如果希望能够中断循环,则必须使用 for..of循环:

  for(let name of group.names){
    if (name == 'SAM') {
      break;
    }
  }

相关问题