如何在Angular中从数组中提取对象

How do I extract an object from an array in Angular?

本文关键字:数组 提取 取对象 Angular      更新时间:2023-09-26

数据

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

功能

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

查看

{{user | json}}

但是,在视图(和控制台(中,我得到了一个对象内部的数组[]。我只想要对象,而不是数组。这样我就可以做一些事情,比如:

{{user.name}}

用JavaScript从数组中过滤记录或获取数组的单个记录,此功能提供JavaScript,您不需要任何AngularJS代码。只要你可以只使用javascript,我建议不要使用angularJS过滤器。当你想重用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]表示我们只想首先记录哪个匹配。我们不想要数组。