Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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
使用or运算符在angularjs中过滤_Angularjs_For Loop - Fatal编程技术网

使用or运算符在angularjs中过滤

使用or运算符在angularjs中过滤,angularjs,for-loop,Angularjs,For Loop,例如,我有一个数组国家的循环(在一个多选框中) {单击:true,名称:USA,ID:1}, {点击:假,姓名:中国,ID:2}, {单击:true,名称:India,ID:4} 当选中一个项目(名称值)时,单击的值变为true。因此,如果我知道所有的值都为true,我可以循环通过countries数组来获取这些值吗? 一旦得到真值,我想使用OR运算符只传递一个id值,而不是全部,例如,如果它的1 | | 4 | | 2,那么应该传递4 尝试了什么 $scope.FilterCountries=

例如,我有一个数组国家的循环(在一个多选框中)

{单击:true,名称:USA,ID:1},
{点击:假,姓名:中国,ID:2},
{单击:true,名称:India,ID:4}

当选中一个项目(名称值)时,单击的值变为true。因此,如果我知道所有的值都为true,我可以循环通过countries数组来获取这些值吗? 一旦得到真值,我想使用OR运算符只传递一个id值,而不是全部,例如,如果它的1 | | 4 | | 2,那么应该传递4

尝试了什么

$scope.FilterCountries=function(){

   var Clicked=true;
   for(var i=0;i<=$scope.model.Countries.length;i++)
     {
      Clicked= $scope.model.Countries.Clicked[i];
      var ID= Clicked || $scope.model.Countries.ID[i];
     }
  }
$scope.FilterCountries=function(){
var=true;

对于(var i=0;i我仍然不确定您到底想做什么,但您的代码似乎是错误的。我将一个示例放在一起

如果您是指按位操作,请参见此处:

我希望有帮助

$scope={
型号:{
国家:[{
对,,
身份证号码:1
}, {
对,,
身份证号码:2
}, {
对,,
身份证号码:4
}]
}
};
$scope.FilterCountries=函数(){
var结果=0;
对于(变量i=0;i<$scope.model.Countries.length;i++){
如果($scope.model.Countries[i]。单击===true){
//按位操作ID:1和2以及4将导致7
结果=结果|$scope.model.Countries[i].ID;
}
}
返回结果;
};
document.write($scope.FilterCountries());
$scope.FilterCountries=function(){
var结果=0;
对于(变量i=0;i<$scope.model.Countries.length;i++){
如果($scope.model.Countries[i]。单击===true){
//按位操作ID:1和2以及4将导致7
结果=结果[i]|$scope.model.Countries[i].ID;
}
}
返回结果;
};

我不清楚您想做什么。但是,例如,通过在视图中单击ng,您可以触发模型更改或启动控制器中所需的任何逻辑。@Christiansteinman调用该函数很好,它被调用了,我已经更新了问题,如果这更合理,知道吗,这确实有帮助,但我不想添加所有数字我希望它能从所有被点击的ID中获得最高的ID。谢谢,我所做的只是在结果中添加一个计数器,它就像一个符咒一样工作
$scope.FilterCountries = function() {

 var result = 0;
 for (var i = 0; i < $scope.model.Countries.length; i++) {

  if ($scope.model.Countries[i].Clicked === true) {
  //Bitwise operation ID: 1 and 2 and 4 would result in 7
  result = result[i] | $scope.model.Countries[i].ID;
}
}
return result;
};