如何检查对象内的数组是否为空

这是我的示例数据。我想检查对象内的数组是否为空。


{

  collection: Array(0), 

  availability: Array(0), 

  gender: Array(0),

  brand: Array(0),

}

以下是我现在正在使用的代码(从其他一些 stackoverflow 链接复制)。


function objectIsEmpty(obj) {

    return Object.keys(obj).every(function(key) {

      var val = obj[key];  


      if (Array.isArray(val) && val.length === 0) {

        return true;

      }

      return false;

    });

}

上面的代码工作正常。我的主要问题是有什么更简洁的方法可以通过 jQuery 代码检查 Object 中的所有空数组,就像我们使用 jQuery.isEmptyObject() 来检查 Empty 对象一样?


holdtom
浏览 187回答 2
2回答

ibeautiful

ES8 有Object.values,这比Object.keys你只想要值要好。您也可以直接返回Array.isArray(val) && val.length === 0测试,如果需要,可以简洁地返回:const objectIsEmpty = obj => Object.values(obj).every(    val => Array.isArray(val) && val.length === 0);

炎炎设计

你不需要所有的回报和分配。例如function objectIsEmpty(obj) {    return Object.keys(obj).every(key =>       Array.isArray(obj[key]) && obj[key].length;    );}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript