Heim  >  Fragen und Antworten  >  Hauptteil

angular.js - angular.forEach怎么跳出循环

如题,angular.forEach怎么做可以跳出循环?

滿天的星座滿天的星座2713 Tage vor899

Antworte allen(4)Ich werde antworten

  • 大家讲道理

    大家讲道理2017-05-15 16:56:21

    先来回答你的问题:

    forEach是不能跳出循环的

    在绝大多数编程语言中,foreach不仅仅是语法糖,通过编译优化它可以提供更好的性能,比如直接略去边界检查。为了能更好地做到这些优化,foreach在设计上也给出了制约。例如在C#中,迭代过程不允许更改容器本身(增删元素),不允许break(我们知道,所有的条件语句都会降低指令缓存和流水线的性能)。

    Angular包装了一系列的原生JS方法,为的是能够更好地监听模型变化。这些JS方法的使用方式和原来基本没有区别。你说的forEach就是一个,还有$timeout等等。关于Angular的数据绑定方式可以看这个:http://harttle.com/2015/06/06/angular-data-binding-and-digest.html

    Antwort
    0
  • PHP中文网

    PHP中文网2017-05-15 16:56:21

    http://stackoverflow.com/a/13844508/2586541


    var keepGoing = true;
    angular.forEach([0,1,2], function(count){
      if(keepGoing) {
        if(count == 1){
          keepGoing = false;
        }
      }
    });
    

    Antwort
    0
  • 仅有的幸福

    仅有的幸福2017-05-15 16:56:21

    Js原生的forEach和jquery的each是这样的,return true,中断后面的操作,继续遍历到下一个操作,类似continue;return false,结束整个遍历,类似break
    Angular不太清楚,楼主可以试试,这种语法糖应该都差不多的。

    Antwort
    0
  • 世界只因有你

    世界只因有你2017-05-15 16:56:21

    @harttle 那循环的数据太大的时候,不是很影响性能。

    Antwort
    0
  • StornierenAntwort