js 如何判断一个对象里的属性值是否为空

let obj = { 
name:'',
sex:'',
job:[],
house:'',
sourcesIncome:[]
}

现有一个对象,结构类似以上。有什么方法,可以判断这个对象里的属性值以及数组是否为空,如果全部为空返回true,有一项不为空,则返回false。
如果全是键值就没问题,但是现在还有数组,有什么好的方法,求解!!

阅读 3.6k
1 个回答
let hasAnyValue = Object.values(obj).some(e => 
    typeof e === 'string' ? !!e :
    typeof e === 'number' ? !isNaN(e) :
    Array.isArray(e) ? !!e.length :
    e != null
);

大概这样,还需要判断啥类型的特殊情况自己看着加。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题