在JavaScript中只有特定的JSON属性

在JavaScript中只有特定的JSON属性,javascript,json,angularjs,Javascript,Json,Angularjs,我可以得到一个JSON对象数组 [ { Id: "1", StartNo: "1", ChipNo: "0", CategoryId: "0", Wave: "0", Club: "", FirstName: "Lotta", LastName: "Svenström", FullName: "Lotta Svenström", ZipCode: "24231" }, {...} ] 我想创建一个只包含StartNo和FullName的新数据结构。我如何做到这一点 我试过: $scope.ru

我可以得到一个JSON对象数组

[
{
Id: "1",
StartNo: "1",
ChipNo: "0",
CategoryId: "0",
Wave: "0",
Club: "",
FirstName: "Lotta",
LastName: "Svenström",
FullName: "Lotta Svenström",
ZipCode: "24231"
},
{...}
]
我想创建一个只包含StartNo和FullName的新数据结构。我如何做到这一点

我试过:

$scope.runners = [];

for(var i = 0; i<data.length; i++){
    $scope.runners[i].StartNo = data[i].StartNo;
    $scope.runners[i].Fullname = data[i].Fullname;
}
$scope.runners=[];

对于(var i=0;i,您可以仅使用以下两个属性创建新对象:

for (var i = 0; i < $scope.runners.length; i++){
    $scope.runners[i] = {
        StartNo: data[i].StartNo,
        Fullname: data[i].Fullname
    }
}
for(变量i=0;i<$scope.runners.length;i++){
$scope.runners[i]={
StartNo:data[i].StartNo,
全名:数据[i]。全名
}
}
或者,如果需要保留引用,请从对象中删除所有其他特性:

for (var i = 0; i < $scope.runners.length; i++){
    for (var k in $scope.runners[i]) {
        if ($scope.runners[i].hasOwnProperty(k) && k !== 'StartNo' && k !== 'Fullname') {
            delete($scope.runners[i][k]);
        }
    }
}
for(变量i=0;i<$scope.runners.length;i++){
for(变量k在$scope.runners[i]中){
if($scope.runners[i].hasOwnProperty(k)&&k!='StartNo'&&k!='Fullname'){
删除($scope.runner[i][k]);
}
}
}

您可以仅使用以下两个属性创建新对象:

for (var i = 0; i < $scope.runners.length; i++){
    $scope.runners[i] = {
        StartNo: data[i].StartNo,
        Fullname: data[i].Fullname
    }
}
for(变量i=0;i<$scope.runners.length;i++){
$scope.runners[i]={
StartNo:data[i].StartNo,
全名:数据[i]。全名
}
}
或者,如果需要保留引用,请从对象中删除所有其他特性:

for (var i = 0; i < $scope.runners.length; i++){
    for (var k in $scope.runners[i]) {
        if ($scope.runners[i].hasOwnProperty(k) && k !== 'StartNo' && k !== 'Fullname') {
            delete($scope.runners[i][k]);
        }
    }
}
for(变量i=0;i<$scope.runners.length;i++){
for(变量k在$scope.runners[i]中){
if($scope.runners[i].hasOwnProperty(k)&&k!='StartNo'&&k!='Fullname'){
删除($scope.runner[i][k]);
}
}
}

使用
数组的
映射功能

var data = [...your JSON objects...];

$scope.runners = data.map(function(runner) {
    return {
        StartNo: runner.StartNo,
        Fullname: runner.Fullname
    };
});

使用
数组的
映射功能

var data = [...your JSON objects...];

$scope.runners = data.map(function(runner) {
    return {
        StartNo: runner.StartNo,
        Fullname: runner.Fullname
    };
});

您可以像下面那样使用本机
map

var $scope.runners = data.map(function(obj){
                     return {StartNo:obj.StartNo,FullName:obj.FullName};
                     });

您可以像下面那样使用本机
map

var $scope.runners = data.map(function(obj){
                     return {StartNo:obj.StartNo,FullName:obj.FullName};
                     });
试试这个代码

    var data=[
{
Id: "1",
StartNo: "1",
ChipNo: "0",
CategoryId: "0",
Wave: "0",
Club: "",
FirstName: "Lotta",
LastName: "Svenström",
FullName: "Lotta Svenström",
ZipCode: "24231"
}
];

var runners =[];


for(var i = 0; i<data.length; i++){
runners[i]={};
   runners[i].StartNo = data[i].StartNo;
    runners[i].Fullname = data[i].Fullname;
}
var数据=[
{
Id:“1”,
StartNo:“1”,
奇普诺:“0”,
类别ID:“0”,
挥手:“0”,
俱乐部:“,
名字:“洛塔”,
姓氏:“Svenström”,
全名:“洛塔·斯文斯特罗姆”,
ZipCode:“24231”
}
];
var=[];
对于(var i=0;i请尝试以下代码

    var data=[
{
Id: "1",
StartNo: "1",
ChipNo: "0",
CategoryId: "0",
Wave: "0",
Club: "",
FirstName: "Lotta",
LastName: "Svenström",
FullName: "Lotta Svenström",
ZipCode: "24231"
}
];

var runners =[];


for(var i = 0; i<data.length; i++){
runners[i]={};
   runners[i].StartNo = data[i].StartNo;
    runners[i].Fullname = data[i].Fullname;
}
var数据=[
{
Id:“1”,
StartNo:“1”,
奇普诺:“0”,
类别ID:“0”,
挥手:“0”,
俱乐部:“,
名字:“洛塔”,
姓氏:“Svenström”,
全名:“洛塔·斯文斯特罗姆”,
ZipCode:“24231”
}
];
var=[];

对于(var i=0;iNote关于兼容性:
map
在IE8及以下版本中不起作用。关于兼容性的说明:
map
在IE8及以下版本中不起作用。