JS 判断对象 {} -字典是否为空

JavaScript里,对象(object)和字典(dictionary, 或者有些语言叫map)的边界非常模糊。

初始化一个{}对象 :

let obj={},

错误判断:

一开始以为是直接判空即可,但是结果是不为空的

let obj={};

if(obj){
    console.log('obj 不为空')
}else{
    console.log('obj为空')
}

结果:

 其他判断方法:

方法1:

最直接判断长度:

let obj={
};

if(Object.keys(obj).length>0){
    console.log('obj 不为空')
}else{
    console.log('obj为空')
}

结果:

示例2:

let obj={
    "a":'1'
};

if(Object.keys(obj).length>0){
    console.log('obj 不为空')
}else{
    console.log('obj为空')
}

输出结果:obj不为空

此方法与: (Object.getOwnPropertyNames(obj).length==0 判断类似的。

方法2:JSON.stringify()方法转换


let obj={
    
};

if(JSON.stringify(obj)==='{}'){
    console.log('obj 为空')
}else{
    console.log('obj 不为空')
}

结果是:obj 为空

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值