判断对象为空

Mezereon

关注

阅读 171

2021-09-25

一、支持 Object.keys 情况下

  • 排除 undefinednull 等报错
  • 判断是否含 key
  • 通过构造函数排除包装类,如 new String()new Boolean() 等情况
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)

精彩评论(0)

0 0 举报