js如何确认一个对象是空的?

js如何确认一个对象(Object)是空的?

阅读 3.6k
5 个回答

Object.keys(obj).length == 0

const isEmptyObject = obj => Object.getOwnPropertyNames(obj).length === 0
value instanceof Object && Object.keys(value).length == 0

既然楼上都说了ES5/6+的方法来判断是否空对象,那就再补一个更通用,兼容性更好点的方法来吧..

function isEmptyObject(obj) {
  var name;
  for ( name in obj ) {
    return false;
  }
  return true;
}

如果还是需要判断是否为对象,再加上一句判断即可..

function isEmptyObject(obj) {
  // 不是对象返回 false
  if (Object.prototype.toString.call(obj) !== '[object Object]') return false;

  var name;
  for ( name in obj ) {
    return false;
  }
  return true;
}

当时着急用,用了以下方法:

JSON.stringify(obj)=="{}"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题