javascript - 使用 JavaScript 从对象中删除空数组

标签 javascript json

我有这个 JSON 对象 myFilters:

{"filters":
      {"role":"","jobs":[]}
}

我可以使用 clean (myFilters) 函数正确地从中删除空对象:

function clean(obj) {
  for (var propName in obj) {
    if (
      obj[propName] === null ||
      obj[propName] === undefined ||
      obj[propName] === ""
    ) {
      delete obj[propName];
    }
  }

现在,我的 myFilters 对象变成:

{"filters":
    { "jobs":[] }
}

现在如何从我的 JSON 对象中删除空数组和 key ?

最佳答案

您应该再添加一个条件,例如

function clean(obj) {
  for (var propName in obj) {
    if (
      obj[propName] === null ||
      obj[propName] === undefined ||
      obj[propName] === "" ||
      Array.isArray(obj[propName]) && obj[propName].length === 0
    ) {
      delete obj[propName];
    }
  }
}

关于javascript - 使用 JavaScript 从对象中删除空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59374552/

相关文章:

javascript - 访问特定 html 元素值而不更改 HTML

javascript - ReadDataURL - 图像未使用 jquery 在 Firefox 中加载

Javascript JSON.parse 字符串 onclick 内联

javascript - 带有 JSON 数据源的 C3.js 流 api 不起作用

javascript - 需要帮助使用 Javascript 将对象数组转换为单个数组

javascript - 你能在CSS和JavaScript中动态改变flexbox的flex-direction吗?

javascript - 用小数计算 Jquery

c# - 将 Json 对象转换为实体

java - 为 ElasticSearch 测试用例创建虚拟 SearchResponse 实例

javascript - JQuery.parseJSON 不适用于字符串