js判断一个对象是否为空?
开发过程中常常会遇到判断对象和数组是否为空,下面介绍3种判断对象是否为空
1、for...in...
最常见的思路,for...in...遍历属性,为真则为“非空数组”;否则为“空数组”。
function judgeObj(obj){ for(var attr in obj){ return console.log('非空对象') } return console.log('空对象') }
2、.stringify方法
通过JSON自带的.stringify方法判断(上传数据常用)
if(JSON.stringify(c)=='{}'){ console.log('空') }
3、Object.keys()
通过ES6新增的一个Object.keys()方法。
该方法会返回一个由给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in.. 循环遍历该对象时返回的顺序一致 。即可以通过返回数组的长度来判断是否为空对象,若为空对象,该数组长度为0。
if (Object.keys(obj).length == 0) { console.log('空对象') } else { console.log('非空对象') }