javascript - 如何检查值是否为空数组?

标签 javascript

我有一个这样的 JSON:

{
  "livingroom": [],
  "bedroom": [],
  "study": [
    {
      "name": "s0",
      "thumbnail": "https://storage.googleapis.com/peterbucket/0/small_istagingViewer/sig@staging.com.tw/Cuiti/study/web/螢幕快照 2016-03-29 下午2.12.32.png",
      "web": "https://storage.googleapis.com/peterbucket/istagingViewer/sigstaging.com.tw/Cuiti/study/web/201603292.12.32.png"
    }
  ],
  "outdoor": [],
  "other": [],
  "id": "-KE5spXGRjC_9WSIh_eN",
  "name": "Cuiti",
  "categoryCount": 1,
  "panoramaCount": 1
}

我只想排除 []。我尝试了 value.length > 0 但会引发错误,因为某些值不是数组。

什么是最好的解决方案?

最佳答案

首先,您的示例不是 JSON,它是一个 Javascript 对象。为了从此对象中删除空数组,您可以像这样简单地检查它

for(var key in yourObject){
    var value = yourObject[key];
    if(Array.isArray(value) && value.length === 0){
        delete yourObject[key];
    }
}

关于javascript - 如何检查值是否为空数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306491/

相关文章:

javascript - jQuery Accordion 知道面板何时完成打开

javascript - 为什么更改服务器上的图像名称会导致调用旧图像?

Javascript keyup 没有按预期工作,它在我没有从按钮上移开手指的情况下执行

javascript - Jquery - 显示没有。的 div 隐藏其他的

javascript - UTF8解码汉字

javascript - 动态过滤器 : Creating a dynamic filter using . filter()

javascript - 如何在 keyCode 为只读的浏览器中聚焦下一个可聚焦字段?

javascript - 单击传单绘制控件(多边形、矩形等)时调用哪个函数: leaflet

PHP undefined variable 和 Javascript

javascript - 替换扩展运算符?