从Array结果中获取两个文件

Get two fileds from Array result

本文关键字:两个 文件 Array 结果 获取      更新时间:2023-09-26

我的服务给出的结果如下

$scope.ListOfPeople = [
    { PersonID: 10, FirstName: "John", LastName: "Smith", Sex: "Male" },
    { PersonID: 11, FirstName: "James", LastName: "Last", Sex: "Male" },
    { PersonID: 12, FirstName: "Mary", LastName: "Heart", Sex: "Female" },
    { PersonID: 13, FirstName: "Sandra", LastName: "Goldsmith", Sex: "Female" },
    { PersonID: 14, FirstName: "Shaun", LastName: "Sheep", Sex: "Male" },
    { PersonID: 15, FirstName: "Nicola", LastName: "Smith", Sex: "Male" }
];

我需要自定义我的数据源如下

$scope.output= [
    { PersonID: 10, FirstName: "John" },
    { PersonID: 11, FirstName: "James" },
    { PersonID: 12, FirstName: "Mary" },
    { PersonID: 13, FirstName: "Sandra" },
    { PersonID: 14, FirstName: "Shaun" },
    { PersonID: 15, FirstName: "Nicola" }
];

在angularjs 中,最好的方法是什么?

您可以使用map来实现您的目标。考虑到map创建新的数组。

$scope.output = $scope.ListOfPeople.map(function(item){
    return {
        PersonID: item.PersonID,
        FirstName: item.FirstName
    };
});

我认为您不需要创建一个新的数组来重塑它的元素。只需从元素中删除不需要的属性。

//Iterate through the array
$scope.listOfPeople.forEach(function(obj){
    //Iterate through properties
    for (var property in obj) {
       if (['PersonId', 'FirstName'].indexOf(property) < 0)     //Delete anything you don't name here
          delete obj[property]; 
   }      
})