javascript 判断对象属性值为空

var obj ={'id':1,'name':2,code:'3',status:'',other:''}

我想判断这个obj对象是否存在空的属性值。
如果全部有值就执行函数体
如果存在空值就列出空的属性名称
类似:

if(obj全部有属性值){
} else {
status
other
}

阅读 13.5k
4 个回答
if(!Object.values(obj).some(v=>v=='')){
  //全部有值
}else{
  return false;
}
//or
if(Object.values(obj).every(v=>!!v)){
  //全部有值
}else{
  return false;
}

修改问题后

var arr;
if((arr = Object.keys(obj).filter(v=>!obj[v])).length<=0){
  //全部有值
}else{
  console.log(arr);//[status,other]
}
let func = (obj) => {
    return Object.keys(obj).length == Object.values(obj).filter(val => val != '').length;
}
var flag = true;
for(var prop in obj){
    if(!obj[prop]){
        flag = false;
        break;
    }    
}
if(flag){
    ...
}else{
    return false;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题