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) === '{}' 则对象为空