js判断对象为空已经有好几种方法了,但是个人觉得不是特别方便。
比如:
1、把对象通过 JSON.stringify 转为字符串,再判断字符串是否等于 " {} "
2、for in循环,判断key是否存在
3、jq的方法
es6已经帮我们很好的解决了此类问题。
es6针对对象增加了3个新方法(数组也有):
(1)、Object.keys:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键名
(2)、Object.values:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值
(3)、Object.entries:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值对
由此,我们可以通过其中任意一个方法,得到返回的数组,判断数组长度是否大于0,来判断对象是否为空。
举个栗子:
const obj = {
foo: 'bar',
baz: 42
}
console.log(Object.keys(obj