删除数组中的对象元素

时间:2017-02-08 11:05:50

标签: javascript

我有一个对象,在对象中,我需要使用javascript从对象数组中delete address

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

我尝试了以下内容,但没有运气:

delete obj.Details.address

delete obj.Details[0].address

3 个答案:

答案 0 :(得分:3)

您的对象结构错误

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

它应该是“地址”:“文本”,然后是字符串格式

delete obj.Details[0].address

会奏效。

答案 1 :(得分:1)

你确定这不起作用吗?

delete obj.Details[0].address

我刚试过Chrome控制台,这很有效。也许你没有正确调试

答案 2 :(得分:1)

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

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

或者像这样使用旧的for循环:

for(var i = 0; i < obj.Details.length; i++) {
    delete obj.Details[i].adress;
}