Javascript 如果对象的任何位置都有空字符串,如何返回false?

Javascript 如果对象的任何位置都有空字符串,如何返回false?,javascript,Javascript,我有一个这样的物体: const obj={ id:'123abc', 承运人名称:“”, 组id:“”, 成员id:“”, 计划名称:“”, } 如果对象的任何部分有空字符串,我想返回false。例如: const obj={ id:'123abc', 承运人名称:''ABC, 组id:'123', 成员id:'xyz', 计划名称:“”, } 上述结果将返回false。类似地,如果类似的内容被部分填充: const obj={ id:'123abc', 承运人名称:''ABC, 组id:

我有一个这样的物体:

const obj={
id:'123abc',
承运人名称:“”,
组id:“”,
成员id:“”,
计划名称:“”,
}
如果对象的任何部分有空字符串,我想返回
false
。例如:

const obj={
id:'123abc',
承运人名称:''ABC,
组id:'123',
成员id:'xyz',
计划名称:“”,
}
上述结果将返回false。类似地,如果类似的内容被部分填充:

const obj={
id:'123abc',
承运人名称:''ABC,
组id:“”,
成员id:'xyz',
计划名称:“”,
}
这将返回false

我尝试了如下手动操作:

返回obj.carrier|u name.length==0 | | obj.group_id.length==0 | | obj.member_id.length==0 | | obj.plan_name.length==0
但是我想知道是否有更好的方法。

与以下内容一起使用:

const obj={
id:'123abc',
承运人名称:“a”,
组id:'a',
成员编号:“a”,
计划名称:“a”,
}
console.log(!Object.values(obj).some(val=>val==“”)
常数obj2={
id:'123abc',
承运人名称:“”,
组id:'a',
成员编号:“a”,
计划名称:“a”,
}

console.log(!Object.values(obj2).some(val=>val===“”)
如果您只有字符串,则可以使用
every
Boolean
作为回调进行检查

const check=object=>object.values(object).every(Boolean);
log(检查({foo:'bar'}));//符合事实的
console.log(检查({foo:'}));//错误的
log(检查({foo:'',bar:'baz'}));//错误的
log(检查({foo:'',bar:''}));//false
简单循环和检查

const obj={
id:'123abc',
承运人名称:“a”,
组id:'a',
成员id:“”,
计划名称:“”,
}
常量checkIfEmpty=obj=>{
for(对象中的常量属性){
if(obj[property].length==0){
返回真值
}
}
返回错误
}

log(checkIfEmpty(obj))
是否只有字符串作为值?您可以使用嵌套对象吗?您可以使用
布尔值查看此问题,对于
0
或其他错误值的属性,也会导致
false
。(不是我的反对票)@T.J.Crowder OP solution假设值总是
string
sAh,true。但我想知道这是否是他们解决方案的弱点之一……您可能希望显示结果的反转,因为OP正在查找
false
,如果存在
。或者,当然,
every(s=>s!==”)
您需要反转结果对吧,我没有注意到,我是盲目键入的:)如果值是数组,这可能会导致误判他没有提到数组@TravisJ