JS判断对象是否为空的几种方法

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"]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值