判断对象为空

简介: 判断对象为空

正文


一、支持 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)


目录
相关文章
|
10月前
|
算法 前端开发
3039. 进行操作使字符串为空
3039. 进行操作使字符串为空
69 0
|
JSON 小程序 JavaScript
小程序根据返回值是否为空判断标签是否显示
小程序根据返回值是否为空判断标签是否显示
122 0
|
5月前
|
前端开发 JavaScript
判断数组为空的方法有哪些?
本文介绍了多种判断数组是否为空的方法,包括使用 `length` 属性、隐式类型转换、`toString()`、`join()`、`every()`、`reduce()`、`filter()`、`some()` 方法以及循环。每种方法都有其适用场景,其中使用 `length` 属性和隐式类型转换最为常见和简单。文章首发于微信公众号“前端徐徐”。
542 2
判断数组为空的方法有哪些?
|
6月前
|
JavaScript
判断一个对象为空对象的方法
判断一个对象为空对象的方法
70 4
|
10月前
|
C语言
C判断
C判断
62 0
|
10月前
|
算法 前端开发 索引
判断对象是否为空
判断对象是否为空
85 0
|
Java Spring
自定义注解判断参数为空
使用Spring的 @Valid和@Validated不好嘛,干嘛要自己造轮子呢.......
判断两棵树是否完全一致
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
166 0
|
前端开发
你真的会判断对象是否为空吗?
一个小小的判空,却很可能让你吃了大亏,如果一个判空没有做好,那么里面的逻辑就完全裸露了,相信你一定吃过 `NullPointerException` 的苦头!
136 0