1:
JSON.stringify(data) === '{}'
它可以通过将对象转为字符串来判断是否为空.为空,则为true,否则就是false
let data = {};
let data1 = { name: "1234", age: "18" }
console.log(JSON.stringify(data) === '{}') // true
console.log(JSON.stringify(data1) === '{}') // false
2:
Object.keys(data).length
.它是通过判断对象自身有没有key 值来判断是否为空的
let data = {}; let data1 = { name: "1234", age: "18" }
console.log(Object.keys(data).length)// 0
console.log(Object.keys(data).length===='{}')// true
console.log(Object.keys(data1).length===='{}')// false
3:
紧随在二号后面的是我们的三号,哦!天哪,它和二号如此的相似.难道他们是兄弟嘛??不可思议!他们真的是兄弟.看看我们的三号兄弟,哦天哪,它是通过判断对象是否有value值来判断是否为空对象的.Object.values(data).length
!让我们为这对兄弟送上掌声.
let data = {};
let data1 = { name: "1234", age: "18" }
console.log(Object.value(data).length)// 0
console.log(Object.value(data).length===='{}')// true
console.log(Object.value(data1).length===='{}')// false
4:
for..in.循环判断对象中是否有值
let data = {};
let data1 = { name: "1234", age: "18" }
let _fn = (obj) => { for (let key in obj) { return false; } return true }
console.log(_fn(data)) //true
console.log(_fn(data1)) //false
5:
判断是否存在hasOwnProperty属性
{}.hasOwnProperty.call(obj,key),
let data = {};
let data1 = { name: "1234", age: "18" }
let _fn = (obj) => { for (let _key in obj) { if (obj.hasOwnProperty(_key)) { return false } } return true }
console.log(_fn(data)) //true
console.log(_fn(data1)) //false
6:
Object.getOwnPropertyNames()
,它和Object.keys(obj)
的功能是一样的,
let data = {};
let data1 = { name: "1234", age: "18" }
let _n = Object.getOwnPropertyNames(data)
let _f = Object.getOwnPropertyNames(data1)
console.log(_n) // []
console.log(Object.getOwnPropertyNames(data).length)//0
console.log(_f) // ["name"]