给定主数组和过滤数组如何获得未过滤的对象?

时间:2016-09-27 16:04:10

标签: angularjs arrays

我在我的应用中创建了多个复选框过滤器,因此用户可以根据不同的属性过滤数据。 这里是我所做的总结:我的控制器中有一个附加到$ scope的对象数组:

$scope.objects = response.data;

我根据控制器中的某些条件过滤此数组:

var filteredObjects = $scope.objects;   
for(var i in filterType){
   filteredObjects = filterData(filteredObjects, filterType[i].selected, filterType[i].filterProp);
   }

最后我分配到范围:

$scope.filteredObjects = filteredObjects;

现在我想将未过滤的对象传递给filterData函数,这样如果用户选择多个复选框,我就可以保留所有过滤的对象。 所以给定$ scope.objects和filteredObjects我该怎么做呢?我试图使用filterFilter来做,但我不知道如何将filteredObjects传递给该函数。我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以通过过滤过滤的对象

来获取未过滤的对象
$scope.unfilteredObjects = $scope.objects.filter(function(obj){
  return $scope.filteredObjects.indexOf(obj) === -1;
})