开发者问题收集

删除数组中的对象元素

2017-02-08
45

我有一个对象,在该对象内,我需要使用 javascript 从对象数组中 删除 地址

 obj = {
        "name":1,
        "Details":[
            {
              "mname":"text here",
              "sname":"text here",
              "address":"text",
              "saddress":"text"
            }
        ]
      }

我尝试了以下操作,但没有成功:

delete obj.Details.address

delete obj.Details[0].address
3个回答

您的对象结构错误

  obj = {
    "name":1,
    "Details":[
        {
          "mname":"text here",
          "sname":"text here",
          "address":"text",
          "saddress":"text"
        }
    ]
  }

它应该是“address”:“text”,字符串格式,然后

delete obj.Details[0].address

将起作用。

jjj
2017-02-08

你确定这不起作用吗?

delete obj.Details[0].address

我刚刚在 chrome 控制台中尝试过,这有效。也许你没有正确调试

xale94
2017-02-08

如果要删除 Details 数组内所有对象的 adress 属性,请使用 forEach 执行此操作,如下所示:

obj.Details.forEach(function(detail) {
    delete detail.address;
});

或者使用旧的 for 循环,如下所示:

for(var i = 0; i < obj.Details.length; i++) {
    delete obj.Details[i].adress;
}
ibrahim mahrir
2017-02-08