Filters don’t work on individual items in the array, they transform the entire array into another array.
userApp.filter('matchAccessLevel', function() {
return function( items, userAccessLevel) {
var filtered = [];
angular.forEach(items, function(item) {
if(userAccessLevel >= item.minAccess) {
filtered.push(item);
}
});
return filtered;
};
});
See this plnkr
**always inspect the arguments to a function. It’s not always obvious what the values are.*
see filters guide