主页 > 其他  > 

前端判断对象为空


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

标签:

前端判断对象为空由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“前端判断对象为空