Javascript ng中的多个过滤器重复,其中一个过滤器需要精确匹配

Javascript ng中的多个过滤器重复,其中一个过滤器需要精确匹配,javascript,angularjs,filter,Javascript,Angularjs,Filter,我已经在ng repeat中编写了这个过滤器,它工作正常 <tr ng-repeat="item in data | filter:{ Name:search, Country:country, MembershipType:membership} | filter: {Gender: gender}: true> 其他函数可以正常工作,但此函数不返回性别的精确匹配 我应该在函数中执行什么操作?您可以使用第二个参数来使用精确匹配。就像在html中一样,您可以使用过滤器两次: $sc

我已经在
ng repeat
中编写了这个过滤器,它工作正常

<tr ng-repeat="item in data | filter:{ Name:search, Country:country, MembershipType:membership} | filter: {Gender: gender}: true>
其他函数可以正常工作,但此函数不返回性别的精确匹配


我应该在函数中执行什么操作?

您可以使用第二个参数来使用精确匹配。就像在html中一样,您可以使用过滤器两次:

$scope.getData = function () {

    var filter = $filter('filter');

    // First filter the non-exact
    var filtered = filter($scope.data, { 
        Name: $scope.search, 
        Country: $scope.country, 
        MembershipType: $scope.membership 
    });

    // then the exact filters
    var genderFiltered = filter(filtered, { 
        Gender: $scope.gender 
    }, true);

    return genderFiltered;
}

Am也尝试了与@devqon答案相同的方法。但是不能在这里发布重复的答案,所以我只是像下面那样更改我的代码

您的ng rpeate具有两个筛选器,可以对数据进行两次筛选。所以,您应该编写类似过滤器的代码


尝试此
return$filter('filter')($scope.data,{Name:$scope.search,Country:$scope.Country,MembershipType:$scope.membership,Gender:$scope.Gender},true)
hadijz,此返回是唯一与性别完全匹配的吗?这次对OMG不起作用。我也试着在这里发布同样的消息:(.+1)
$scope.getData = function () {

    var filter = $filter('filter');

    // First filter the non-exact
    var filtered = filter($scope.data, { 
        Name: $scope.search, 
        Country: $scope.country, 
        MembershipType: $scope.membership 
    });

    // then the exact filters
    var genderFiltered = filter(filtered, { 
        Gender: $scope.gender 
    }, true);

    return genderFiltered;
}
$scope.getData = function () {
        return $filter('filter')(($filter('filter')($scope.data, { Name: $scope.search, 
            Country: $scope.country, MembershipType: $scope.membership }), { 
            Gender: $scope.gender 
            }, true);
}