【问题标题】:json remove element by valuejson 按值删除元素
【发布时间】:2012-11-15 17:41:44
【问题描述】:

我有一个 json 对象:

myJson = [
{"id":"001", "name":"AAA"},
{"id":"002", "name":"BBB"},
{"id":"003", "name":"CCC"},
{"id":"004", "name":"DDD"}
]

如何通过 id 值删除元素?

感谢您的帮助

【问题讨论】:

  • You don't have a JSON object,你有一个对象。更具体地说,您有一个对象数组。 silly 贴出的答案是最简单的删除项目的解决方案,或者您可以使用标准循环遍历数组,直到找到匹配的项目,然后使用.splice() 将其删除。
  • 正确。但我将此对象解析为 JSON

标签: javascript json getjson


【解决方案1】:

您可以过滤您的数组...例如:您想删除每个 id 为“003”的对象,请使用:

myJson = myJson.filter(function(jsonObject) {
    return jsonObject.id != "003";
});

【讨论】:

  • @Blacksonic 是的,但问题不涉及浏览器
  • 我怀疑 OP 需要myJson = myJson.filter(...
  • 不客气。 +1,顺便说一句。 @Blacksonic - 关于 .filter() 和 IE 直到版本 9 才支持的其他方法的兼容性,我最近决定不在我的答案中提及这个问题,除非问题明确提到了旧版浏览器。我想如果我向某人介绍一个他们从未使用过的标准 JS 函数,这取决于他们在 a good JS reference 中查找它 - 当然这只是他们的好习惯吗?并且说参考将告诉他们如何在需要时进行垫片。
  • 我认为它的缺陷也值得一提,顺便说一句,这个问题的答案很好,只是想添加更多关于它的信息
猜你喜欢
  • 1970-01-01
  • 2019-05-09
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
  • 2014-08-17
  • 1970-01-01
  • 2013-02-28
  • 2017-03-10
相关资源
最近更新 更多