在JavaScript中打破forEach方法的首选方法

这个问题在这里已经有了答案:

  • 如何使Array.forEach短路像调用break? 24个答案

  • forEach不应该打破。 如果你想打破一个forEach的循环,尝试everysome ,让你摆脱循环。

    重新编写代码的可能方法可能是

    var sum = 0;
    
    yourArray.some(function (item) {
        if (sum > 5) {
            return true;
        }
        sum += item;
    });
    

    你无法摆脱forEach 。 只需使用正常的循环

    for(var i = 0; i < a; i++){
       sum += a[i];
       if(sum > 5) break;
    }
    

    你目前的代码似乎有点傻。

    你的try / catch块没用,因为你不会为catch块捕获错误,然后重新抛出(?)并且你不需要alert("break"); 停止脚本。

    无论如何,你无法摆脱forEach循环,我想你只想使用正常的for循环:

    function sum(list){
      var sum = 0;
      for (var i = 0, len = list.length; i < len; i++){
        sum += list[i];
        if (sum > 5){
          break;
        }
      }
      return sum;
    }
    
    链接地址: http://www.djcxy.com/p/70047.html

    上一篇: Preferred way to break a forEach method in JavaScript

    下一篇: Coffeescript: Break out of a forEach loop