2016-05-17 5 views
0

Ich bin neu bei angularJs. Ich stehe vor einem Problem, bei dem ich ein Array (in ng-repeat) filtern muss, indem ich das Element im Array finde.Wie filtert man ein Array, indem man Elemets in Array in angularJs findet?

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

Ich versuchte den obigen Code (was falsch ist). Hier selected_class_option_arr ist ein Array mit Werten, mit denen ich trialList Array mit class_id filtern muss.

Array selected_class_option_arr ist so -

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

Ich versuchte, bekam zu finden, aber nicht gutes Beispiel, wie pro meine Anforderung.

Antwort

1

Bereitstellung einer Filterfunktion im ng-Repeat und Schleife durch die gegen-Array auf die erforderlichen Werte zu filtern:

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

In der Steuerung:

$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

+0

Danke @ Dev-One, hat super funktioniert –