首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查数组的对象是否为空

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

Stack Overflow用户
提问于 2018-10-30 00:59:39
回答 2查看 1.6K关注 0票数 0

我有一个这样的对象:

代码语言:javascript
复制
{
  places: [],
  interests: [],
  checkIns: []
}

如何轻松地检查这些数组中是否有任何数组为空?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-30 01:01:50

如果您使用的是ES6:

代码语言:javascript
复制
Object.values(obj).every(x => !x.length)

仅当obj的所有数组均为空时才返回true。

示例:

代码语言:javascript
复制
var obj = {
  places: [],
  interests: [],
  checkIns: []
}

console.log(Object.values(obj).every(x => !x.length));

代码语言:javascript
复制
var obj = {
  places: [1],
  interests: [],
  checkIns: []
}

console.log(Object.values(obj).every(x => !x.length));

票数 4
EN

Stack Overflow用户

发布于 2018-10-30 01:06:16

如果对象的属性确实是Array的实例,则可以通过使用Object.entriesArray.prototype.forEach并检查数组的长度来迭代对象的属性。

代码语言:javascript
复制
var o = {
  places: [],
  interests: [],
  checkIns: [],
  someItems: [1, 2, 3, 4],
  notArr: false
};

Object.entries(o).forEach(function(entry) {
  let [key, value] = entry;
  if (value instanceof Array) {
    if (value.length === 0) {
      console.log(`${key} is an empty array`);
    } else {
      console.log(`${key} is an array that contains items`);
    }
  } else {
    console.log(`${key} is not an array`);
  }
})

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53050372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档