首页 > 技术文章 > js判断对象是否为空: Object.keys(obj).length

qlongbg 2019-10-28 15:16 原文

1. ES6新增的Object.keys():Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组

  data() {
    return {
      objdata:{name:'li',firstname:"yong"},
      objsdata:{}
    };
  },
  mounted() {
    console.log(Object.keys(this.objdata)); //["name", "firstname"]
    console.log(Object.keys(this.objsdata)); //[]
  },

所以,我们可以通过 Object.keys(obj).length 是否为零来判断对象是否为空  Object.keys(obj).length === 0则对象为空

 

2.另一种比较简单的方法,利用JSON.stringify()

  data() {
    return {
      objdata:{name:'li',firstname:"yong"},
      objsdata:{}
    };
  },
  mounted() {
    console.log(Object.keys(this.objdata)); //["name", "firstname"]
    console.log(Object.keys(this.objsdata)); //[]
    console.log(JSON.stringify(this.objdata)); //{"name":"li","firstname":"yong"}
    console.log(JSON.stringify(this.objsdata)); //{}
    if(JSON.stringify(this.objsdata) === '{}'){
      console.log("对象为空");
    }
  },

也就是说  JSON.stringify(obj) === '{}' 则对象为空

推荐阅读