2016-06-11 13 views
0

Ich benutze die folgende, um ein Array durchzulaufen und jedem Element des Arrays eine Eigenschaft hinzuzufügen.Hinzufügen der Bedingung zur AngularJS-Kartenfunktion

$scope.addresses = $scope.addresses.map(function(address) { 
     address.location = "X"; 
     return address; 
}); 

Dies am Ende wird alle Elemente zurückgeben. Wie kann ich der Schleife eine Bedingung hinzufügen? also kann ich eine Eigenschaft überprüfen und die basierend auf dieser Eigenschaft geben nur bestimmte Adressen zurück, wo diese Eigenschaft true ist?

Jede Hilfe wird geschätzt!

Antwort

1

sollten Sie verwenden die filter Funktion

Sie können hier darüber lesen: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

Grundsätzlich filter ist eine Funktion, die bekommt eine Boolesche Funktion als Parameter (lass es f nennen), und gibt ein Array mit allen Artikeln, die die f wahr für zurückgibt.

Zum Beispiel:

var mapped = $scope.addresses = $scope.addresses.map(function(address) { 
     address.location = "X"; 
     return address; 
}); 

var filtered = mapped.filter(function (address) { 
    return address.location.length > 5; 
}); 

filtered wird eine Sammlung der Adressen halten, die einen Ort mit mehr als 5 Zeichen lang sein.

+0

Können Sie bitte –

+0

sicher erweitern, wird meine Antwort in einer Minute bearbeiten –

0

Verwendung Filter

$scope.addresses = $scope.addresses.filter(function(address){ 
    return address.location === x; 
}) 
Verwandte Themen