如何在不影响javascript数据的情况下替换属性?

时间:2017-10-16 10:55:22

标签: javascript

我的数据格式如下: -

a.arr= [
0:{
name: abc,
dob: 18/12/1917,
panNo: ASDFG6789K
},
1:{
name: xyz,
dob: 1/2/1917,
panNo: WERTY6789K
}
]

我想删除0和1并将其转换为: -

a.arr= [
{
name: abc,
dob: 18/12/2017,
panNo: ASDFG6789K
},
{
name: xyz,
dob: 1/2/1917,
panNo: WERTY6789K
}
]

如果我使用delete,那么它也会删除内部对象中的数据。还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

正如之前的一些评论者所说,您的第一个代码段不包含有效的JavaScript。但是,如果01都成为字符串,以及所有值(abc18/12/1917等),您的数据将如下所示:

var a = {};
a.arr = [
  {
    "0": {
      name: "abc",
      dob: "18/12/1917",
      panNo: "ASDFG6789K"
    }
  },
  {
    "1": {
      name: "xyz",
      dob: "1/2/1917",
      panNo: "WERTY6789K"
    }
  }
];

要删除01,您可以执行以下操作:

var arr = a.arr.map(function(d){
  var key = Object.keys(d)[0];
  return d[key];
});

a.arr = arr;

// a.arr is now:
[{
    "name": "abc",
    "dob": "18/12/1917",
    "panNo": "ASDFG6789K"
}, {
    "name": "xyz",
    "dob": "1/2/1917",
    "panNo": "WERTY6789K"
}]