react中的JS判断对象是否为空对象的几种方法
https://blog.csdn.net/qq_42324718/article/details/100123449
在使用react的时候,props中的值通常作为对象在父组件和子组件之间进行进行传递,通常会牵扯到判断对象是否为空的情况,今天遇到,特意来记录下方便以后回顾.
一:使用JSON的内置对象方法JSON.stringify()
const obj = {} ;
JSON.stringify(obj) === '{}' ;
方法返回值: boolean
1
2
3
4
5
二:使用ES6的方法Object.getOwnPropertyNames()
const obj = {} ;
Object.getOwnPropertyNames(obj) ;
返回值:这个方法是获取到对象中的属性名,存到一个数组中,返回数组对象,可以通过长度来判断对象是否为空。如:
const isTrue = Object.getOwnPropertyNames(obj).length === 0 ? true : false ;
1
2
3
4
5
6
7
三:使用ES6的方法Object.keys()
const obj = {} ;
Object.keys(obj) ;
返回值:这个方法也是获取到对象中的属性名,存到一个数组中,返回数组对象
和第二种方法不同的就是,getOwnPropertyNames()返回的属性字符串包括了不可枚举,而Object.keys()只返回可枚举的属性字符串数组。如果我们没有显示的定义属性是否可枚举,那么创建的属性默认是可枚举的,所以这样,两者返回的结果是一样的。如:
const isTrue = Object.keys(obj).length === 0 ? true : false ;
1
2
3
4
5
6
7
8
四:jquery的isEmptyObject(),使用时需要引入jq的依赖
const obj = {} ;
const b = $.isEmptyObject(obj);
返回值:boolean
alert(b); //true
————————————————
版权声明:本文为CSDN博主「不一样的小白噢」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42324718/article/details/100123449