繁体   English   中英

删除数组中的对象元素

[英]delete object element within an array

我有一个对象,并且在对象内,我需要使用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

您的对象结构错误

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

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

delete obj.Details[0].address

将工作。

您确定这行不通吗?

delete obj.Details[0].address

我刚刚在chrome控制台中尝试过,并且可以正常工作。 也许您没有正确调试

如果要删除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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM