2016-11-08 55 views
-1

數據如何從Angular中的數組中提取對象?

$scope.people = [ 
    {'name':'james'}, 
    {'name':'ann'} 
]; 

功能

$scope.user = $filter('filter')($scope.people, function(user){ 
    return user.name == 'james'; 
}); 

查看

{{user | json}} 

但是,在圖(並在控制檯)我得到的數組[]與對象的內部。我只想要對象,而不是數組。所以,我可以做這樣的事情:在JavaScript

{{user.name}} 
+1

當你過濾一個數組時,你得到一個數組作爲結果....並且一個JavaScript數組是一個對象,那麼又是什麼問題? – Tibrogargan

回答

0

篩選記錄從數組或獲取數組的一個記錄,該功能提供的JavaScript,你不需要任何AngularJS代碼。每當你只能通過JavaScript來做,我建議不要使用angularJS過濾器。當你想重用它時創建你自己的AngularJS過濾器。

可以通過下面的代碼

數據

$scope.people = [ 
    {'name':'james'}, 
    {'name':'ann'} 
]; 

功能

$scope.user = function(username) { 
    return $scope.people.filter(function(obj) { 
     return obj.name === username; 
    })[0]; 
} 

查看

{{user('james') | json}} 

filter提取數組對象是JavaScript的原型對於數組,我們可以通過自定義條件過濾一些記錄。 [0]表示我們只是想先記錄哪個匹配。我們不想要數組。