有时候,需要通过判断一个对象是否是一个空对象来进行相关操作,操作的方法有以下几种:
1. 转成JSON字符串进行判断,空对象转成JSON字符串后一定是等于 “{}” 的
var empty = {};
console.log(JSON.stringify(empty) === "{}") // true
2. for in 循环进行判断,因为如果是空对象的话是不会进行循环里面的操作的,所以只要进入了for…in… 循环即证明不是空对象;
var isEmpty = function(obj){
for(let key in obj){
return false;
}
return true;
}
var empty = {};
console.log( isEmpty(empty) ) //true
3.使用ES6新增的Object的方法, ES6 新增了Object.keys, Object.values, Object.entries 等方法,可以获取到对象key,value的相关数组,数组长度为0即说明是空对象。
var empty = {};
var arr1 = Object.keys(empty);
var arr2 = Object.values(empty);
var arr3 = Object.entries(empty);
console.log( arr1.length===0 ); //true
console.log( arr2.length===0 ); //true
console.log( arr3.length===0 ); //true