如何通过在angularJs中查找数组中的elemets来过滤数组?

时间:2016-05-17 07:02:39

标签: arrays angularjs angularjs-filter

我是angularJs的新手。我正面临一个问题,我需要通过查找数组中的元素来过滤数组(在ng-repeat中)。

<div class="row" ng-repeat="(class_list_key, class_list) in trialList | filter: {class_id:selected_class_option_arr}">

我尝试了上面的代码(这是错误的)。此处selected_class_option_arr是一个数组,其中包含使用trialList过滤class_id数组的值。

数组selected_class_option_arr就像这样 -

["Sat_09:00_AM_10:30_AM", "Fri_10:00_AM_11:00_AM"]

我试图找到但根据我的要求没有得到适当的例子。

1 个答案:

答案 0 :(得分:1)

在ng-repeat中提供过滤函数并循环遍历反对数组以过滤掉所需的值:

<div class="row" ng-repeat="classList in trialList | filter: filterClass >

在控制器中:

$scope.filterClass = function(classList) {
      for(var i=0; i < selected_class_option_arr.length; i++) {
          return classList.class_id.indexOf(selected_class_option_arr[i]) != -1 
     }  
};

Working Plunker:https://plnkr.co/edit/yQ7D9fwwitfMktOkGjF8?p=preview