I am not clearly getting your question but as far as I understood it, I think what you need is to write a custom filter.
In this example, matchMyCriteria matches all items in the array with the list of available names in AuthorArray array.
HTML:
<div ng-repeat="item in items | filter: matchMyCriteria()">
{{ item }}
</div>
JS:
$scope.items = [{title: "abc", author: "Alan", .....}, ......];
$scope.AuthorArray = ["sridhar", "Alan"];
$scope.matchMyCriteria = function() {
return function(item) {
return ($scope.AuthorArray.indexOf(item.author) > -1);
};
};
There is another solution for it and I assume it to be the good one.
In this example, myFilter is used to filter the array of items on the basis of an array of authors.
HTML:
<div ng-repeat="item in items | myFilter: AuthorArray">
{{item}}
</div>
JS:
app.filter('myFilter', function() {
return function(list, criteria) {
return list.filter(function(l) {
return (criteria.indexOf(l.author) > -1);
});
};
});