2016-06-11 13 views
0

私は以下を使用して配列をループし、配列の各項目にプロパティを追加します。AngularJSマップ関数に条件を追加する

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

これはすべての項目を返します。どのようにループに条件を追加できますか?だから私はプロパティをチェックすることができ、そのプロパティに基づいて、そのプロパティがtrueの特定のアドレスのみを返しますか?

基本的にはhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

filterある関数インクルードパラメータ(のはfそれを呼びましょう)としてブール関数を取得し、配列を返す:

答えて

1

あなたが

あなたがここでそれについて読むことができますfilter機能を使用する必要がありますfがtrueを返すすべての項目が含まれています。例えば

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は、5つの以上の文字で場所を持っているアドレスのコレクションを保持します。

+0

あなたが分に私の答えを編集します、 –

+0

確かに拡大してくださいすることができ –

0

使用フィルタ

$scope.addresses = $scope.addresses.filter(function(address){ 
    return address.location === x; 
}) 
関連する問題