2016-11-08 59 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]表示我们只是想先记录哪个匹配。我们不想要数组。