判断对象里面除了布尔值以外其他键值对是否为空?

let joke ={

    a:'1',

    b:'2',

    c:false

}

for(let key in joke){

    if(joke[key]==''){

        alert('有空值')

    }

}

如上,在循环检验时候,c是布尔值false,判断时弹出了alert,请教一下如何忽略键值对是布尔值的情况,只检测字符串和数字类型是否为空?


湖上湖
浏览 664回答 3
3回答

一只斗牛犬

==发生了隐式类型转换,改成===就必须是''才进去。只检测字符串和数字类型是否为空没理解这句话,你是希望数字0也判定有空值?

慕桂英3389331

for(let key in joke){    if(joke[key] === '' && typeof joke[key] !== 'boolean'){        alert('有空值')    }}

DIEA

使用===joke[key] === ''如果还需要检查值为null或者undefined,可以在后面罗列这些条件joke[key] === '' || joke[key] === null || joke[key] === undefined
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript