javascript - 如何检查对象是否为空(深)?
问题描述
拿着这个:
var lists:{
item1:{}
,item2:{}
,item3:{}
,item4:{}
}
由于它基本上是空的,我想要一个函数(也许但不一定是 _lodash 函数)来检查它并说它是空的。
就像是
is_empty(lists) // >> true (because every property resolves to an empty object)
如何?
解决方案
您可以遍历对象的值并检查它们是否全部为空:
var lists = {
item1:{},
item2:{},
item3:{},
item4:{}
}
//ES6:
function isEmpty(obj) {
return Object.keys(obj).every(k => !Object.keys(obj[k]).length)
}
console.log(isEmpty(lists));
// ES5
function isEmpty(obj) {
return Object.keys(obj).every(function(k) {
return !Object.keys(obj[k]).length}
)
}
console.log(isEmpty(lists));
推荐阅读
- azure - 如何在访问外部资源的多个集群中部署的 Service Fabric 微服务中维护状态
- ocr - 在 Workfusion RPA Express 中使用 OCR 时“执行 OcrAction 时出错”。
- c# - 如何使用 TypeConverter 从 TimeSpan 转换为 DateTime 并返回?
- java - javax.media.NoDataSinkException
- python - 使用 pymysql.cursor() 将元组值插入 mysql 表
- swift - 在 coredata 中插入子记录很慢
- android - Android Studio 3.1 任务执行失败:合并 dex 档案时出错
- javascript - 切换路由时 VueJS 内存泄漏
- python - 使用python的图像卡检测
- aes - PBEWITHSHA256AND256BITAES-CBC-BC 澄清