javascript – 查找并删除对象中的空属性

这是我的对象数组:

var data = [
  {
    "label": "HOME",
    "href": "web-tutor99.com",
    "children": [{}]
  }, 
  {
    "href": "web-tutor99.com",
    "label": "HTML5"
  }
];

它是一个多维对象,这里的子属性是空的.如何找到这样的空属性并使用jQuery删除它们?

最佳答案 试试这个

data = [{
      "label": "HOME",
      "href": "web-tutor99.com",
      "children": [{}]
    }, {
      "href": "web-tutor99.com",
      "label": "HTML5"
    }];

    alert("Before : "+JSON.stringify(data));
     //console.log(data);

    checkEmptyObj(data);

     alert("After : "+JSON.stringify(data));

    function checkEmptyObj(data) {
      $.each(data, function(key, value) {
        if ($.isPlainObject(value) || $.isArray(value)) {
          checkEmptyObj(value);
        }
        //alert(key+":"+$.isEmptyObject(value));
        if (value === "" || value === null || $.isEmptyObject(value)) {
          delete data[key];
        }
      });

    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
点赞