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

标签 javascript jquery

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

{
  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 代码检查对象内的所有空数组,就像我们使用 jQuery.isEmptyObject() 检查空对象一样?

谢谢

最佳答案

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
);

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

相关文章:

javascript - 无法让 ajax 显示在页面中,但可以在谷歌元素检查器中看到

javascript - 如何将类动画限制为单击的元素及其内容

javascript - jquery改变背景大小

javascript - 动态更改php中的排序参数而无需重新加载

javascript - 使用 Firebase 进行 Microsoft 单租户身份验证

javascript - 在js中实现vector

jquery - 多次验证器调用使用不显眼的方式动态添加内容

javascript - 如何将异步回调中的字符串添加到一起?

javascript - 如何比较或关联 2 getJson?

javascript - 尝试使图像在同位素中按顺序加载和显示