Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 为什么';继续';不';不能在一个角度内工作?_Angularjs - Fatal编程技术网

Angularjs 为什么';继续';不';不能在一个角度内工作?

Angularjs 为什么';继续';不';不能在一个角度内工作?,angularjs,Angularjs,我有一个angular应用程序,如下所示,我有一个angular.forEach函数,我想用continue关键字跳过一些值,但我不能 <div ng-app="app"> <div ng-controller="test"> test {{printPairs()}} </div> </div> angular.module("app", []) .controller("test", function($

我有一个angular应用程序,如下所示,我有一个angular.forEach函数,我想用
continue
关键字跳过一些值,但我不能

<div ng-app="app">
  <div ng-controller="test">
    test
    {{printPairs()}}
  </div>
</div>

angular.module("app", [])
       .controller("test", function($scope){
          var array = [1,2,3,4,5,6];

          $scope.printPairs = function(){
            angular.forEach(array, function (elem) {
              if(elem % 2 === 1){
                 continue;
              }
              //More logic  below...
            })
          };
       });

测试
{{printPairs()}}
角度模块(“应用程序”,[])
.控制器(“测试”,功能($范围){
var数组=[1,2,3,4,5,6];
$scope.printPairs=函数(){
角度.forEach(数组、函数(元素){
如果(元素%2==1){
继续;
}
//下面是更多的逻辑。。。
})
};
});

有人知道为什么会发生这种情况?

之所以会发生这种情况,是因为您不在javascript foreach语句中

但我们在一个函数中。如何查看angular.forEach第二个参数是在每个循环中调用的回调开关

因此,为了解决您的问题,您可以使用一个简单的“返回”跳转与您的if条件匹配的当前位置,如下所示:

angular.forEach(array, function (value, key) {
     if(1 === value % 2){
        return;
     }
     //More logic  below...
 })

“continue”在angular.forEach()中不起作用。continue语句在当前循环或标记循环的当前迭代中终止语句的执行,并在下一次迭代中继续执行循环。这是指本机循环,而不是由helper函数提供的那些循环,因为continue可以在传统for循环的主体内使用,但不能在传递给array的forEach函数的函数中使用。只要使用
if(elem%2==0){//logic}
。无论如何,这会更干净,即使在for循环中也是如此。return将破坏语句return的行为方式与在常规javascript上继续对每个语句执行相同