当前位置: 首页 > news >正文

前端判断对象为空

一.使用JSON.stringify()方法:

JSON.stringify() 是将一个JavaScript对象或值转换为JSON格式字符串,如果最终只得到一个{},就说明他是一个空对象
let obj1 = {};
console.log(JSON.stringify(obj1) === "{}");  //true 表示为空对象

let obj2 = { age:18 };
console.log(JSON.stringify(obj2) === "{}");  //false 表示不为空对象

二.for in 循环判断

使用for…in循环遍历对象属性,并使用obj.hasOwnProperty()检查属性是否属于对象本身,如果存在任何属性,则返回false,否则返回true。
//封装判断函数
function isEmptyObject(obj) {
    for (let key in obj) {
        if (obj.hasOwnProperty(key))
            return false;
    }
    return true;
}

const obj1 = {};
//调用
console.log(isEmptyObject(obj1)); // true 表示为空对象

const obj2 = {age: 18 };
//调用 
console.log(isEmptyObject(obj2)); // false  表示不为空对象

三.Object.getOwnPropertyNames()方法 

此方法是使用Object对象的getOwnPropertyNames()方法,获取到对象中的属性名,存到一个数组中,返回数组对象,我们可以通过判断数组的length来判断此对象是否为空

注意:此方法不兼容ie8

const obj1 = {};
console.log(Object.getOwnPropertyNames(obj1).length === 0); // true  //空对象

const obj2 = { age: '18' };
console.log(Object.getOwnPropertyNames(obj2).length === 0); // false //不为空对象

四.使用ES6的Object.keys()方法

主要是获取对象的键名,将对象的属性转换成数组,通过是否存在键名(数组的长度是否为0)而判断是否为空
let obj1 = {};
console.log(Object.keys(obj1).length == 0);//true  空对象

let obj2 = { age:18 };
console.log(Object.keys(obj2).length == 0);//false  不为空对象

相关文章:

  • 掌上新闻随心播控,HarmonyOS SDK助力新浪新闻打造精致易用的资讯服务新体验
  • redis为什么使用跳跃表而不是树
  • 二、ActiveMQ安装
  • Postgresql源码(124)两个事务更新同一行数据时的行为和原理分析
  • django定时任务(django-crontab)
  • notepad++打开文本文件乱码的解决办法
  • PCL常用的点云操作
  • RedisTemplate重写的一些模板
  • html的列表标签
  • 实习日志15
  • 操作系统——内存管理(附带Leetcode算法题LRU)
  • Qt QWidget以及各种控件、布局 核心属性(适合入门使用时查询)
  • proxy配置
  • 移动端App自动化之触屏操作自动化
  • 冒泡排序及其优化
  • 机器学习和统计学的区别?
  • python基本语法
  • git错误整理
  • 深度学习:Pytorch安装的torch与torchvision的cuda版本冲突问题与解决历程记录
  • Django学习全纪录:Django开发环境的搭建
  • 新型算法助力听障人士听得更清晰
  • 李铁案二审今日宣判,押送警车已进入法院
  • 总书记考察的上海“模速空间”,是一个怎样的空间?
  • 杭州一季度GDP为5715亿元,同比增长5.2%
  • 日本大米价格连续16周上涨,再创最高纪录
  • 巴防长称中俄可参与克什米尔恐袭事件国际调查,外交部回应