我有不同的对象,如下面的代码示例所示。我有一些复选框,根据啤酒,风格,香气和国家进行过滤。只有在数组中有一个属性时才会进行过滤。
使过滤器基于阵列中的所有元素工作的最佳解决方案是什么?我检查了一些其他问题,我找不到任何相关的东西。 如果你们中的任何人能帮助我,那就太好了。
感谢。
此处的代码示例:http://pastie.org/10787362
答案 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
属性中的值...