我们都知道 JavaScrip t对象是没有判断是否为空对象的方法的,那么需要判断的时候该怎么办呢?
对于数组比较简单,根据数组的 length 属性就能判断。如果 length 的值为 0 就是空数组,否则就不是。但是对象没有 length 属性...
判断对象是否为空对象,需要自己实现一个判断方法。主要使用的属性是 hasOwnProperty 。下面是一个示例:
function isEmpty(obj) {
for(let key in obj) {
if(obj.hasOwnProperty(key))
return false;
}
return true;
}
循环遍历对象上的所有属性,如果有任何一个属性存在,则说明不是空对象。
使用也非常的简单,直接传入要判断的对象即可:
const myObj = {};
comst isEmptyObject = isEmpty(myObj);
更进一步,可以把这个判断方法放到对象的原型上,这样所有的对象都能使用这个方法了。
Object.prototype.isEmpty = function() {
for(let key in this) {
if(this.hasOwnProperty(key))
return false;
}
return true;
}
总结
判断对象是否为空对象可以说是一个很小的功能,但是也是一个常用的方法。大家可以参考一下上面的实现,加入到自己的工具包中。
欢迎大家点赞、评论、转发~