js判断对象是否为空对象的方法总结

news/2024/12/26 20:31:24/

js判断对象是否为空对象的方法总结

  • 方法1:JSON.stringify()方法
  • 方法2:for in方法
  • 方法3:Object.keys()方法
  • 方法4:Object.getOwnPropertyNames()方法
  • 方法5:jquery 的 isEmptyObject()方法

在面试或者开发过程中,我们经常会遇到这样一个问题——如何判断一个对象是否为空对象?下面让我们一起来总结一下吧!

方法1:JSON.stringify()方法

  • 原理:将对象转换成字符串,再判断是否等于“{}”
let obj = {};
console.log(JSON.stringify(obj) === "{}");  // true

方法2:for in方法

var obj = {};
var fn = function () {for (var key in obj) {return false;  // 若不为空,可遍历,返回false}return true;
};
console.log(fn()); // true

方法3:Object.keys()方法

  • 原理:Object.keys()方法,返回对象的属性名组成的一个数组,若长度为0,则为空对象(ES6的写法)
let obj = {};
let arr = Object.keys(obj);
console.log(arr.length == 0); // true

方法4:Object.getOwnPropertyNames()方法

  • 原理:Object.getOwnPropertyNames()方法获取对象的属性名,存到数组中,若长度为0,则为空对象。
var obj = {};
var arr = Object.getOwnPropertyNames(obj);
console.log(arr.length == 0); // true

方法5:jquery 的 isEmptyObject()方法

  • 原理:利用for in的方式来判断(注意:使用这种方式记得引用jquery)。
var obj = {};
var b = $.isEmptyObject(obj);
console.log(b); //  true

http://www.ppmy.cn/news/1073800.html

相关文章

异或^实现数据加密

异或是一种二进制的位运算,符号以 XOR 或 ^ 表示。 1.1运算规则 相同为0,不同为1,即 1 ^ 1 0 0 ^ 0 0 1 ^ 0 1 由运算规则可知,任何二进制数与零异或,都会等于其本身,即 A ^ 0 A。 1.2 异或性质 …

linux使用不同的工具和命令来查看和放通允许访问的IP地址

在Linux系统中,您可以使用不同的工具和命令来查看和放通允许访问的IP地址。下面是一些常用的命令和方法: 查看当前开放的端口和规则: 使用 netstat 命令查看当前打开的端口和连接: Copy code netstat -tuln 使用 ss 命令也可以查…

SpringBoot初级开发--服务请求(GET/POST)所有参数的记录管理(8)

服务端在定位错误的时候,有时候要还原现场,这就要把当时的所有入参参数都能记录下来,GET还好说,基本NGINX都会记录。但是POST的请求参数基本不会被记录,这就需要我们通过一些小技巧来记录这些参数,放入日志…

eslint-plugin-import import/order 规则 说明

eslint-plugin-import import/order 规则 说明 "import/order": ["error",{groups: ["builtin", "external", "internal", "parent", "sibling", "index"],}, ],groups: 指定导入分组的顺序…

java 泛型作为方法的返回值的封装

问题背景 业务需要,经常需要http方式调用某服务,然后某服务返回特定类型的返回内容。 类似 String resStr xxxHttpClient.post() ,然后它返回一个字符串,你还需要反序列化成某种格式的。 返回值可以反序列化成的形式如下&#…

软件设计师学习笔记5-流水线技术

目录 1.流水线的概念 2.流水线计算 2.1流水线周期及执行时间 2.2流水线吞吐量 1.流水线的概念 考点:相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比、流水线效率(后两者的计算中级不考) 流水线是指在程序执行时多条指令重叠进行操作…

【C++】SLT——Vector详解

本片要分享的是关于STL中Vector的内容,Vector的内容于string非常相似,只要会使用string那么学习Vector时会非常流畅。 目录 1.vector介绍 2.vector的简单实用 2.1.简单的无参构造 ​编辑2.2.简单带参构造 2.3.迭代器区间初始化 2.4.vector的遍历 …

什么是OLAP

一、什么是OLAP OLAP(On-line Analytical Processing,联机分析处理)是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。可以比较下其与传统的OLTP(On-line Transaction Processing,联机事务处理&…