Angularjs - 如何在属性中按多个值过滤对象

时间:2016-04-04 10:32:31

标签: angularjs checkbox angularjs-filter

我有不同的对象,如下面的代码示例所示。我有一些复选框,根据啤酒,风格,香气和国家进行过滤。只有在数组中有一个属性时才会进行过滤。

使过滤器基于阵列中的所有元素工作的最佳解决方案是什么?我检查了一些其他问题,我找不到任何相关的东西。 如果你们中的任何人能帮助我,那就太好了。

感谢。

此处的代码示例:http://pastie.org/10787362

1 个答案:

答案 0 :(得分:1)

您可以使用Javascript filter对象的Array()方法 例如:

$scope.filteredNames = $scope.names.filter(function(element) {
   return
     'brewer1' in element.brewers &&
     'aroma1' in element.aromas
   ;
});

$scope.filteredNames应该包含所有names' brewer1' brewers属性中的值AND' aroma1' aromas属性中的值...