判断对象为空

简介: 判断对象为空

正文


一、支持 Object.keys 情况下


  • 排除 undefinednull 等报错
  • 判断是否含 key
  • 通过构造函数排除包装类,如 new String()new Boolean() 等情况

这种方法有个不足的是,倘若通过 let emptyObj = Object.create(null) 创建空对象,那么 emptyObj.constructor === Object 就不成立了。

function isEmptyObject(val) {
  return val && Object.keys(val).length === 0 && val.constructor === Object
}


二、不支持 Object.keys 时

function isEmptyObject(val) {
  return Object.prototype.toString.call(val) === '[object Object]' && JSON.stringify(val) === '{}'
}


三、使用第三方 JS 库

// Lodash 
_.isEmpty(val)
// Underscore
_.isEmpty(val)
// jQuery
$.isEmptyObject(val)


目录
相关文章
|
9天前
|
Python
晶闸管阴阳极的判断
晶闸管阴阳极的判断
23 0
|
3月前
|
算法 前端开发
3039. 进行操作使字符串为空
3039. 进行操作使字符串为空
22 0
|
3月前
阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
【2月更文挑战第8天】阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
40 3
|
6月前
判断Object对象是否为空
判断Object对象是否为空
|
3月前
|
算法 前端开发 索引
判断对象是否为空
判断对象是否为空
20 0
|
7月前
|
程序员 C语言
C 判断
C 判断。
30 0
|
前端开发
你真的会判断对象是否为空吗?
一个小小的判空,却很可能让你吃了大亏,如果一个判空没有做好,那么里面的逻辑就完全裸露了,相信你一定吃过 `NullPointerException` 的苦头!
|
索引
判断字符串回文
判断字符串回文
42 0
|
JSON 数据格式
如何判断两个对象/数组相等
如何判断两个对象/数组相等
|
程序员 C++
用C++如何进行判断
用C++如何进行判断