JAVASCRIPT:如何删除 json 对象中的 json 对象?

标签 javascript jquery json

如何删除 json 对象中的 json 对象?

[
    [
        {"name":"formtype","value":"ordering"},          
        {"name":"extera_Ordering_json[id]","value":"1"}
   ],
   [
        {"name":"extera_Ordering_json[count]","value":"20"},               
        {"name":"coupon","value":""},
        {"name":"formtype","value":"ordering"}, 
        {"name":"extera_Ordering_json[id]","value":"2"}
   ],
   [
       {"name":"extera_Ordering_json[count]","value":"7"},
       {"name":"coupon","value":"1"},
       {"name":"formtype","value":"ordering"},
       {"name":"extera_Ordering_json[id]","value":"3"}
   ],
   [   {"name":"extera_Ordering_json[count]","value":"1"},
       {"name":"coupon","value":"1"},
       {"name":"formtype","value":"ordering"},
       {"name":"extera_Ordering_json[id]","value":"4"}
   ]
]

我将这个 json 保存在 ordering

现在我要删除

   [   {"name":"extera_Ordering_json[count]","value":"1"},
       {"name":"coupon","value":"1"},
       {"name":"formtype","value":"ordering"},
       {"name":"extera_Ordering_json[id]","value":"4"}
   ]

我的 key 是extera_Ordering_json[id](它不是唯一的)

我这样做:

ordering = JSON.parse(ordering);
var temp;
$.each(ordering, function(idx, obj)
{
    if(obj.Ordering_json[id] != 4)// not works
    {
        temp[] = obj;
    }
    temp[] = obj
}
ordering = JSON.stringify(temp);

最佳答案

"extera_Ordering_json[id]" 只是一个字符串,因此您需要迭代每个数组中的所有对象并找到以该字符串作为 name 的对象并检查同一对象的

这是一个 map 和过滤器的方法

var data = [
    [
        {"name":"formtype","value":"ordering"},          
        {"name":"extera_Ordering_json[id]","value":"1"}
   ],
   [
        {"name":"extera_Ordering_json[count]","value":"20"},               
        {"name":"coupon","value":""},
        {"name":"formtype","value":"ordering"}, 
        {"name":"extera_Ordering_json[id]","value":"2"}
   ],
   [
       {"name":"extera_Ordering_json[count]","value":"7"},
       {"name":"coupon","value":"1"},
       {"name":"formtype","value":"ordering"},
       {"name":"extera_Ordering_json[id]","value":"3"}
   ],
   [   {"name":"extera_Ordering_json[count]","value":"1"},
       {"name":"coupon","value":"1"},
       {"name":"formtype","value":"ordering"},
       {"name":"extera_Ordering_json[id]","value":"4"}
   ]
]
var searchVal = 1
data=data.map(function(arr){
   return arr.filter(function(o){
      return o.name !== "extera_Ordering_json[id]" || +o.value !== searchVal
   })
})

console.log(data)

关于JAVASCRIPT:如何删除 json 对象中的 json 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41461563/

相关文章:

javascript - 动态应用 JQuery 掩码

Javascript灵活的背景图片不起作用

javascript - 将 50,000 多个字符的 JSON 字符串解析为 javascript 对象

javascript - 如何在同一个变量下进行多次导入

javascript - mozilla css 转换属性不起作用

javascript - 如何将注册表单中的第一个选项卡切换到另一个选项卡?

jquery - 跟踪用户输入的页面

javascript - 我现在有一个 json 对象,如何使用元素制作 div

java - 如何从 Play Framework 中的 JSON 对象中删除元素

Javascript 替代 document.write 而不是 innerHTML