前端判断对象为空

一.使用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  不为空对象

相关推荐

  1. 前端判断对象

    2024-02-20 17:22:02       64 阅读
  2. 前端判断对象(6种)

    2024-02-20 17:22:02       50 阅读
  3. js 如何判断对象自身

    2024-02-20 17:22:02       61 阅读
  4. js判断对象是否的几种方法

    2024-02-20 17:22:02       40 阅读
  5. 判断cursor是否

    2024-02-20 17:22:02       49 阅读
  6. scss导出颜色变量对象

    2024-02-20 17:22:02       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-20 17:22:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-20 17:22:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-20 17:22:02       82 阅读
  4. Python语言-面向对象

    2024-02-20 17:22:02       91 阅读

热门阅读

  1. 数据结构-邻接矩阵的创建与遍历

    2024-02-20 17:22:02       53 阅读
  2. C#系列-Dapper.Contrib.Extensions应用实例(41)

    2024-02-20 17:22:02       49 阅读
  3. 【学习记录25】学习一些比较有用的git命令

    2024-02-20 17:22:02       52 阅读
  4. 【软件设计模式之适配器模式】

    2024-02-20 17:22:02       41 阅读
  5. docker (八)-docker compose容器编排

    2024-02-20 17:22:02       53 阅读
  6. 博客摘录「 Python面试宝典」2024年2月20日

    2024-02-20 17:22:02       45 阅读
  7. 浅谈分布式光伏电站运维平台在石化行业的应用

    2024-02-20 17:22:02       47 阅读
  8. qt命令行编译项目

    2024-02-20 17:22:02       46 阅读
  9. Python | Conda常用命令

    2024-02-20 17:22:02       44 阅读