js-判断一个object(对象)是否为空

打印 上一主题 下一主题

主题 985|帖子 985|积分 2955

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.Object.keys() 方法

  1. const obj = {};
  2. if (Object.keys(obj).length === 0) {
  3.   console.log('Object is empty');
  4. } else {
  5.   console.log('Object is not empty');
  6. }
复制代码
Object.keys() 方法返回一个包含对象自身可枚举属性名称的数组。如果这个数组为空,那么对象就是空的。 
2.JSON.stringify()方法

  1. const obj = {};
  2. if (JSON.stringify(obj) === '{}') {
  3.   console.log('Object is empty');
  4. } else {
  5.   console.log('Object is not empty');
  6. }
复制代码
将一个JavaScript对象转换为JSON字符串。如果对象为空,那么转换后的字符串就是 {}。
3. 利用 for...in 循环

  1. const obj = {};
  2. let isEmpty = true;
  3. for (let key in obj) {
  4.   isEmpty = false;
  5.   break;
  6. }
  7. if (isEmpty) {
  8.   console.log('Object is empty');
  9. } else {
  10.   console.log('Object is not empty');
  11. }
复制代码
 for...in 循环可以遍历对象的所有可枚举属性。如果循环体没有执行,那么对象就是空的。
4.Reflect.ownKey() 

  1. const obj = {};
  2. if (Reflect.ownKey(obj).length === 0) {
  3.   console.log('Object is empty');
  4. } else {
  5.   console.log('Object is not empty');
  6. }
复制代码
        创建了一个空对象 obj,然后利用 Reflect.ownKey() 方法获取这个对象的所有属性键。由于 obj 是空的,所以 Reflect.ownKey(obj) 返回一个空数组。因此,Reflect.ownKey(obj).length === 0 为 true,体现对象是空的。
        可以用来判断一个对象是否为空,但它只能判断对象自身的属性,不能判断对象的原型链上的属性。
        如果需要判断对象及其原型链上的所有属性,用Object.getOwnPropertyNames() 或 Object.getOwnPropertySymbols() 方法。 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

风雨同行

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表