从json中删除元素,而不添加null

问题描述

我有以下json:

var json_obj:
[{"id":"7","a_id":0,"cost":"Real Cost","desc":"this a value","minage":0,"maxage":""},{"id":"10","desc":"other",{"id":"13","maxage":""}]

我正在使用此代码通过id从其中删除元素:

jQuery.each(json_obj,function(i,val) {
  if(  val.id  === 13 ) // delete index
         {
          delete json_obj[i];
                   
          }
    });

但是它会返回一个具有null值的json,

[{"id":"7",null]

有没有一种方法可以将其返回空值?

解决方法

您可以这样做:

json_obj = jQuery.grep(json_obj,function(obj) {
  return obj.id != "13";
});

请注意,您的id是字符串("id":"13")

演示

var json_obj = [{
    "id": "7","a_id": 0,"cost": "Real Cost","desc": "this a value","minage": 0,"maxage": ""
  },{
    "id": "10","desc": "other",{
    "id": "13","maxage": ""
  }
]


json_obj = jQuery.grep(json_obj,function(obj) {
  return obj.id != "13";
});

console.log(json_obj)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...