Javascript如何添加和删除深度为2级的JSON元素

Javascript如何添加和删除深度为2级的JSON元素,javascript,json,node.js,angular,Javascript,Json,Node.js,Angular,我在谷歌上搜索了很多关于如何从JSON对象中删除元素的信息 下面是我的简化JSON来说明我的需求 捆绑: { "resourceType": "Bundle", "meta": { "lastUpdated": "2017-10-06T04:42:22.411Z" }, "type": "searchset", "total": "0", "entry": [ { "_id": "59d573

我在谷歌上搜索了很多关于如何从JSON对象中删除元素的信息

下面是我的简化JSON来说明我的需求

捆绑:

{
    "resourceType": "Bundle",
    "meta": {
        "lastUpdated": "2017-10-06T04:42:22.411Z"
    },
    "type": "searchset",
    "total": "0",
    "entry": [
        {
            "_id": "59d5739e668e9e3fd29aeb0d",
            "resource": {
                "id": "59d5739e668e9e3fd29aeb0d"
            },
            "__v": 0
        },
        {
            "_id": "59d6a3fae4b45d50c5ffd4f7",
            "resource": {
                "id": "59d6a3fae4b45d50c5ffd4f7"
            },
            "__v": 0
        },
        {
            "_id": "59d6a831e4b45d50c5ffd4fa",
            "resource": {
                "id": "59d6a831e4b45d50c5ffd4fa"
            },
            "__v": 0
        }
    ]
}
如何删除所有条目。\u id和条目。\u v? 我试过了,但没用

delete bundle.meta;   <-- meta is on level 1, it works.
delete bundle.entry._id; <-- not working. The _id under entry
delete bundle.__v; <-- not working. The __v is also under entry
我已经尝试了很多方法,在谷歌上搜索了很多。谢谢你的帮助


谢谢维韦克的回答。它可以工作。

for (var i = 0; i < bundle.entry.length; i++) {
    delete bundle.entry[i]._id;
    delete bundle.entry[i].__v;
    bundle.entry[i].fullname = "Test";
}
for(变量i=0;i
bundle.entry是一个数组。:)
删除\u第一个元素的id:
删除捆绑包。条目[0]。\u id

删除所有元素的id和v:
bundle.entry=bundle.entry.map(函数(条目){
var newEntry={
资源:entry.resource,
全名:“此处全名”
};
返回新条目;

});

bundle.entry是一个数组。:)
删除\u第一个元素的id:
删除捆绑包。条目[0]。\u id

删除所有元素的id和v:
bundle.entry=bundle.entry.map(函数(条目){
var newEntry={
资源:entry.resource,
全名:“此处全名”
};
返回新条目;

});

请尝试下面的代码。它可以帮助你

  var object1 = {
    "resourceType": "Bundle",
    "meta": {
        "lastUpdated": "2017-10-06T04:42:22.411Z"
    },
    "type": "searchset",
    "total": "0",
    "entry": [
        {
            "_id": "59d5739e668e9e3fd29aeb0d",
            "resource": {
                "id": "59d5739e668e9e3fd29aeb0d",
            },
            "__v": 0
        },
        {
            "_id": "59d6a3fae4b45d50c5ffd4f7",
            "resource": {
                "id": "59d6a3fae4b45d50c5ffd4f7"
            },
            "__v": 0
        },
        {
            "_id": "59d6a831e4b45d50c5ffd4fa",
            "resource": {
                "id": "59d6a831e4b45d50c5ffd4fa"
            },
            "__v": 0
        }
    ]
  };

  var array1=['Apple','Orange','Gava']

  function a(){
        for(var i=0;i<object1.entry.length;i++){
            delete object1.entry[i]._id;
            delete object1.entry[i].__v;
            object1.entry[i].fullname = array1[i];
        }
        console.log(object);
  }
var object1={
“resourceType”:“Bundle”,
“元”:{
“最新更新”:“2017-10-06T04:42:22.411Z”
},
“类型”:“搜索集”,
“总计”:“0”,
“条目”:[
{
“_id”:“59d5739e668e9e3fd29aeb0d”,
“资源”:{
“id”:“59d5739e668e9e3fd29aeb0d”,
},
“_v”:0
},
{
“_id”:“59d6a3fae4b45d50c5ffd4f7”,
“资源”:{
“id”:“59d6a3fae4b45d50c5ffd4f7”
},
“_v”:0
},
{
“_id”:“59d6a831e4b45d50c5ffd4fa”,
“资源”:{
“id”:“59d6a831e4b45d50c5ffd4fa”
},
“_v”:0
}
]
};
var array1=[‘苹果’、‘橙色’、‘嘎瓦’]
函数a(){

对于(var i=0;i请尝试下面的代码。它可以帮助您

  var object1 = {
    "resourceType": "Bundle",
    "meta": {
        "lastUpdated": "2017-10-06T04:42:22.411Z"
    },
    "type": "searchset",
    "total": "0",
    "entry": [
        {
            "_id": "59d5739e668e9e3fd29aeb0d",
            "resource": {
                "id": "59d5739e668e9e3fd29aeb0d",
            },
            "__v": 0
        },
        {
            "_id": "59d6a3fae4b45d50c5ffd4f7",
            "resource": {
                "id": "59d6a3fae4b45d50c5ffd4f7"
            },
            "__v": 0
        },
        {
            "_id": "59d6a831e4b45d50c5ffd4fa",
            "resource": {
                "id": "59d6a831e4b45d50c5ffd4fa"
            },
            "__v": 0
        }
    ]
  };

  var array1=['Apple','Orange','Gava']

  function a(){
        for(var i=0;i<object1.entry.length;i++){
            delete object1.entry[i]._id;
            delete object1.entry[i].__v;
            object1.entry[i].fullname = array1[i];
        }
        console.log(object);
  }
var object1={
“resourceType”:“Bundle”,
“元”:{
“最新更新”:“2017-10-06T04:42:22.411Z”
},
“类型”:“搜索集”,
“总计”:“0”,
“条目”:[
{
“_id”:“59d5739e668e9e3fd29aeb0d”,
“资源”:{
“id”:“59d5739e668e9e3fd29aeb0d”,
},
“_v”:0
},
{
“_id”:“59d6a3fae4b45d50c5ffd4f7”,
“资源”:{
“id”:“59d6a3fae4b45d50c5ffd4f7”
},
“_v”:0
},
{
“_id”:“59d6a831e4b45d50c5ffd4fa”,
“资源”:{
“id”:“59d6a831e4b45d50c5ffd4fa”
},
“_v”:0
}
]
};
var array1=[‘苹果’、‘橙色’、‘嘎瓦’]
函数a(){
对于(var i=0;i
请注意,
fullNameList
的长度和
bundle.entry
的长度必须相同


请注意,
fullNameList
的长度和
bundle.entry
的长度必须相同

您可以使用map函数从对象中删除键,并在相同的函数中添加键,如下所示:

var数据={
“resourceType”:“Bundle”,
“元”:{
“最新更新”:“2017-10-06T04:42:22.411Z”
},
“类型”:“搜索集”,
“总计”:“0”,
“条目”:[
{
“_id”:“59d5739e668e9e3fd29aeb0d”,
“资源”:{
“id”:“59d5739e668e9e3fd29aeb0d”
},
“_v”:0
},
{
“_id”:“59d6a3fae4b45d50c5ffd4f7”,
“资源”:{
“id”:“59d6a3fae4b45d50c5ffd4f7”
},
“_v”:0
},
{
“_id”:“59d6a831e4b45d50c5ffd4fa”,
“资源”:{
“id”:“59d6a831e4b45d50c5ffd4fa”
},
“_v”:0
}
]
}
变量名称=['A','B','C'];
var计数器=0;
data.entry=data.entry.map(函数(obj){
删除对象[''标识']
删除对象[''v']
obj.fullname=名称[计数器]
计数器++;
返回obj
});

console.log(数据);
您可以使用映射功能从对象中删除键,并在同一功能中添加键,如下所示:

var数据={
“resourceType”:“Bundle”,
“元”:{
“最新更新”:“2017-10-06T04:42:22.411Z”
},
“类型”:“搜索集”,
“总计”:“0”,
“条目”:[
{
“_id”:“59d5739e668e9e3fd29aeb0d”,
“资源”:{
“id”:“59d5739e668e9e3fd29aeb0d”
},
“_v”:0
},
{
“_id”:“59d6a3fae4b45d50c5ffd4f7”,
“资源”:{
“id”:“59d6a3fae4b45d50c5ffd4f7”
},
“_v”:0
},
{
“_id”:“59d6a831e4b45d50c5ffd4fa”,
“资源”:{
“id”:“59d6a831e4b45d50c5ffd4fa”
},
“_v”:0
}
]
}
变量名称=['A','B','C'];
var计数器=0;
data.entry=data.entry.map(函数(obj){
删除对象[''标识']
删除对象[''v']
obj.fullname=名称[计数器]
计数器++;
返回obj
});

console.log(data);
“我想要的结果-删除'\u id'和'\u v',然后将'fullname'添加到条目[]”如何确定
“fullname”
属性值?您不能从…Hi guest271314中删除元素,比如条目[i]。fullname=条目[i]的最后4位。resource.id;感谢您的帮助。“我想要的结果-删除'\u id'和'\u v',然后在条目[]中添加'fullname'”
“fullname”
属性值是如何确定的?您不能从…Hi guest271314中删除元素,比如条目[i]。fullname=la
const fullNameList = ['Apple', 'Orange', 'Guava']
delete bundle.meta
bundle.entry = bundle.entry.map((item, index) => {
    const {__v, _id, ...restObj } = item;
    restObj.fullname = fullNameList[index]
    return restObj;
})