2016-10-27 4 views
0

スクリプトを修正するのを手伝ってください。 '{名前: 'DIMA'、年齢:4 ''}' と$ scope.filteredPeoplesに入れオブジェクトの検索のフィルタを作成するにはどうすればよいですか?

私は$でフォローデータ構造を持っているが、私は、オブジェクトを追跡見つける必要

をscope.peoples。私はフィルタを使用する必要があります。

マイフィルタバージョン:

app.controller('mainController', ['$scope', 'namesFilter', function($scope, namesFilter) { 
     $scope.peoples = [ 
     {name: 'anton', age: '1'}, 
     {name: 'serg', age: '2'}, 
     {name: 'sveta', age: '3'}, 
     {name: 'dima', age: '4'}, 
     {name: 'stas', age: '5'}, 
     {name: 'pavel', age: '6'} 
     ]; 
     $scope.filteredPeoples = namesFilter($scope.peoples, {name: 'dima'}); 
}]).filter('names',function() { 
     return function(array) { 
       var result = []; 

     array.forEach(function(item, i, arr) { 
      if(item.color == 'dima') { 
      result.push(item); 
      }; 
     }); 

     return result; 
     }; 
    });  

しかし、フィルタが働いていません。コンソールにエラーメッセージは表示されませんが、filteredPeoplesは空の配列です。

JSFIDDLE

+1

'item.color ==は「== dima''は' item.nameあるべきです「dima」 – tcooc

答えて

1

あなたは適切なオブジェクトのプロパティを確認する必要があります。

if(item.name== 'dima') { //not item.color 
      result.push(item); 
      }; 

ここにあなたのupdated working fiddle

関連する問題