js判断一个对象是否为空?

代码2020-06-04863 人已阅来源:网络

开发过程中常常会遇到判断对象和数组是否为空,下面介绍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('非空对象')
}