2017-10-11 1 views
0

zum Filtern eines JavaScript-Array Winkelfilter mit der Syntax istWinkelfilter mit oder condtion

$ Filter ('Filter') (array, Expression Komparator, anyPropertyKey)

Wie pro Winkellagen der zweiter Parameter Ausdruck kann nehmen

Ein Musterobjekt durch Anordnung spezifische Eigenschaften auf Objekten enthalten zu filtern. Zum Beispiel {name: "M", Telefon: "1"} Prädikat wird ein Array von Elementen zurück, die Eigenschaftsnamen haben "M" und Eigenschaft Telefon mit einem Gehalt an "1"

in dem genannten Beispiel uns werden immer Bedingung als Namen "M" und Telefon matching "1"

aber wie zu erreichen Bedingung als Namen übereinstimmen "M" oder Telefon matching "1"

Codebeispiel

passend
var employees=[ 
    {lastname:"john",firstname:"jack",age:40,sex:"m"}, 
    {lastname:"Abby",firstname:"john",age:20,sex:"f"}, 
    ]; 

var filteredData =$filter('filter')(employees,{firstname:'john', lastname:'john'}); 

ergibt, da keine Aufzeichnungen und angewandt können wir versuchen, Datensätze zu filtern Nachnamen oder Vornamen, wie

‚John‘ ist dies möglich, mit Verwendung von benutzerdefinierten Filtern

+0

zeigen Sie Ihren Code und Daten – jitender

+1

Mögliche Duplikat [AngularJS Filter mit "oder" Zustand?] (Https://stackoverflow.com/questions/39554350/angularjs-filter-with-or-condition) –

+0

@ Jitender aktualisierte Frage – lrvkiran

Antwort

0

var myApp = angular.module('myApp', []); 
 

 
myApp.controller('myCtrl', ['$scope', '$filter', function($scope, $filter){ 
 

 
    var employees=[ 
 
    {lastname:"john",firstname:"jack",age:40,sex:"m"}, 
 
    {lastname:"Abby",firstname:"john",age:20,sex:"f"}, 
 
    {lastname:"Abby",firstname:"mark",age:20,sex:"f"}, 
 
    ]; 
 
    
 
$scope.filteredData = $filter('filter')(employees, function(value){ 
 
     return value.firstname == 'john' || value.lastname == 'john'; 
 
}); 
 

 
console.log($scope.filteredData); 
 
    
 
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<!DOCTYPE html> 
 
<html ng-app="myApp"> 
 

 
<body> 
 

 
    <div ng-controller="myCtrl"> 
 
    {{filteredData}} 
 
    </div> 
 

 

 
</body> 
 

 
</html>
zu erreichen

können Sie wie unten verwenden.

$scope.filteredData = $filter('filter')(employees, function(value){ 
     return value.firstname == 'john' || value.lastname == 'john'; 
});