如果我的对象在任何地方都有一个空字符串,我该如何返回 false?

我有一个这样的对象:


const obj = {

  id: '123abc',

  carrier_name: '',

  group_id: '',

  member_id: '',

  plan_name: '',

}

false如果对象的任何部分有一个空字符串,我想返回。例如:


const obj = {

  id: '123abc',

  carrier_name: ''ABC,

  group_id: '123',

  member_id: 'xyz',

  plan_name: '',

}

以上将返回false。同样,如果这样的东西部分填充:


const obj = {

  id: '123abc',

  carrier_name: ''ABC,

  group_id: '',

  member_id: 'xyz',

  plan_name: '',

}

这将返回错误。


我手动尝试了这样的事情:


return obj.carrier_name.length === 0 || obj.group_id.length === 0 || obj.member_id.length === 0 || obj.plan_name.length === 0

但我想知道是否有更好的方法。


叮当猫咪
浏览 150回答 3
3回答

哔哔one

Object.values与 一起使用Array.prototype.some:const obj = {  id: '123abc',  carrier_name: 'a',  group_id: 'a',  member_id: 'a',  plan_name: 'a',}console.log(!Object.values(obj).some(val => val === ""))const obj2 = {  id: '123abc',  carrier_name: '',  group_id: 'a',  member_id: 'a',  plan_name: 'a',}console.log(!Object.values(obj2).some(val => val === ""))

元芳怎么了

简单的循环和检查const obj = {  id: '123abc',  carrier_name: 'a',  group_id: 'a',  member_id: '',  plan_name: '',}const checkIfEmpty = obj => {  for (const property in obj) {    if (obj[property].length === 0) {      return true    }  }  return false}console.log(checkIfEmpty(obj))

精慕HU

如果您只有 strings ,您可以使用everyandBoolean作为回调进行检查。const check = object => Object.values(object).every(Boolean);console.log(check({ foo: 'bar' }));          //  trueconsole.log(check({ foo: '' }));             // falseconsole.log(check({ foo: '', bar: 'baz' })); // falseconsole.log(check({ foo: '', bar: '' }));    // false
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript