使用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;
};