Reputation: 310
<select ng-model="healthparameters.companyidfilter">
<option></option>
</select>
<select ng-model="parameters.nameidfilter">
<option></option>
</select>
$scope.all_users = [
{
"param0": "value",
"param1": "value",
"param2": "value",
"param3": "value",
"param4": "value",
"param5": "value",
"param6": "value",
"param7": "value",
"param8": "value",
"param9": "value",
"param10": "value",
"param11": "value",
"param12": "value",
"param13": "value",
"param14": "value",
"param15": "value",
"param16": "value",
"param17": "value",
"param18": "value",
"param19": "value",
"param20": "value",
"param21": "value",
"param22": "value",
"param23": "value",
"param24": "value",
"param25": "value",
"param26": "value",
"param27": "value",
"param28": "value",
"param29": "value",
"param30": "value"
},
{
and so on.......
}
]
I need to filter the data based on parameters(param1, param2,...). Right now the code i written for filter the data like this
var filtered;
filtered = $filter('filter')($scope.all_users, {param1 : $scope.parameters.companyidfilter,param2: $scope.parameters.nameidfilter,......})
The above code filters data perfectly, but the problem is:
the result will be like this:
param1 && param2 so it performs "and" operation between two objects.
my question is how will we do "or" operation between two objects and returns all the data
Upvotes: 0
Views: 27
Reputation: 5605
According to the Angular documentation you can also pass a function as filter, you can return true if the value should be included like so:
var filtered = $filter('filter')(
$scope.all_users,
function(value, index, array) {
return value.param1 === $scope.parameters.companyidfilter || value.param2 === $scope.parameters.nameidfilter;
}
);
Upvotes: 1