首页 > 其他分享 >js判断空对象的几种方法

js判断空对象的几种方法

时间:2022-11-23 09:57:21浏览次数:41  
标签:console log 对象 Object 几种 var js true

一、将对象转为字符串比较
这是最容易想到的方法,主要使用JSON.stringify()这个方法对对象进行强转:

var a={};
var b=new Object();
console.log(JSON.stringify(a)"{}") //true
console.log(JSON.stringify(b)
"{}") //true
1
2
3
4
二、for…in循环
使用for in循环可以遍历所有属性以次判断对象是否为空对象:

var a={};
function isEmptyObject(obj){
for(var key in obj){
return false
};
return true
};
console.log(isEmptyObject(a));
1
2
3
4
5
6
7
8
三、Object.getOwnPropertyNames()
Object.getOwnPropertyNames()方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。用此方法判断空对象只需要判断返回的数组长度是否为零,为零的话就是空对象。

var obj = { };
console.log(Object.getOwnPropertyNames(obj).length == 0); // true
1
2
四、Object.keys()
该方法属于 ES5 标准,IE9 以上和其它现代浏览器均支持。Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致。用此方法判断空对象只需要判断返回的数组长度是否为零,为零的话就是空对象。

var data = {};
var arr = Object.keys(data);
console.log(arr.length == 0);//true

标签:console,log,对象,Object,几种,var,js,true
From: https://www.cnblogs.com/Sultan-ST/p/16917313.html

相关文章

  • 面向对象综合应用--搬家具
    1、需求将小于房子剩余面积的家具摆放到房子中。2、分析步骤需求涉及零个事物:房子和家具,故被案例涉及两个类:房子类和家具类2.1定义类房子类:......
  • 对象的使用 对象的方法 遍历对象 数字内置的对象 数据内存的存储
    1.1什么是对象 在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。对象是由属性和方法组成的。属性:事物的......
  • Github+jsDelivr搭建免费快速的个人图床
    香!手把手搭建免费快速的个人图床经常写博文的朋友对床图肯定不陌生。岛主习惯使用markdown撰写博客,将图片放在床图网站生成外链统一管理,这样一份博文就可以发布在不同的平台......
  • js和go对接websocket遇到的问题汇总
    TableofContentsgeneratedwithDocToc​​1.包协议​​​2.相关操作​​​2.1大端编码​​​​2.2大端解码​​​​2.3string转utf8-uint8Array[],utf8-uint8Arra......
  • JWT( JSON Web Token —— JSON Web 令牌 )的学习笔记
    一、跨域认证的问题互联网服务离不开用户认证。一般流程是下面这样:1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用......
  • C++语言类和对象介绍和示例
     C++类和对象C语言中结构体(struct)是一种构造类型,可以包含若干成员变量,可以通过结构体来定义结构体变量。C++中的类(class)可以看成结构体的升级版,类也是一种构造类型,但是进......
  • leetcode 88. 合并两个有序数组 js实现
    给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合......
  • JavaScript对象_Global和案例1_点灯开关
    JavaScript对象_Global:Global:1.特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。方法名();2.方法:encodeURI():url编码decodeURI():url解码encodeUR......
  • JS前期数组、字符串、时间、定时器、DOM\BOM事件方法等总结
    1.字符串方法        .charAt(对应字符元素下标)——根据下标查找字符串内元素        .charCodeAt(对应字符元素下标)——根据下标查找字符串某元素在u......
  • 实体类对象排序
    1packagecom.-.it.regioc.bean.config.prefer;23importorg.jetbrains.annotations.NotNull;4importlombok.AllArgsConstructor;5importlombok.Data;6......