Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证javascript对象中字段的更好方法_Javascript_Arrays - Fatal编程技术网

验证javascript对象中字段的更好方法

验证javascript对象中字段的更好方法,javascript,arrays,Javascript,Arrays,我想验证该对象,以便该对象不为null,并且该对象中的几个字段不为空 例如,考虑以下对象: address ={ block : '2134', street : 'berly street', county : 'someCountry' postal : '876546' } 我正在使用es6。我找到了解决办法 我想用简单的JS来做这件事。 请告诉我是否有比下面更好的方法: const isValidAddress = (address) => {

我想验证该对象,以便该对象不为null,并且该对象中的几个字段不为空

例如,考虑以下对象:

address ={
    block : '2134',
    street : 'berly street',
    county : 'someCountry'
    postal : '876546'
}
我正在使用es6。我找到了解决办法

我想用简单的JS来做这件事。 请告诉我是否有比下面更好的方法:

 const isValidAddress = (address) => {

      const addressFields = ['block', 'county', 'postal', 'street'];
      return addressFields.every((element) => address[element] && address[element].length > 0);
};

您可以尝试使用这样的方法检查每个值

const-invalidAdress={
块:“”,
街道:“柏利街”,
县:'某地',
邮政:876546
};
常数validAdress={
区块:“1234”,
街道:“柏利街”,
县:'某地',
邮政:876546
};
//。当且仅当对象中的每个属性都是真实值时,every才会返回true
const isValidAddress=(地址)=>Object.keys(地址).every(x=>address[x]);
控制台日志(isValidAddress(InvalidAddress));

console.log(isValidAddress(validAddress))
你可以使用Object.keys@CertainPerformance我的不好,那是个打字错误。我改为
every()
,这不是一个答案,而是一个建议:你可以切换到typescript并使用typeguards为什么要投反对票?请提及reason@CharybdeBE不幸的是,这不是一个optionObject.keys是一个好的选项,至少它在一开始看起来是这样的,但如果某些属性完全缺失,它将无法解决问题,但这是另一个问题altogether@codeMan这解决不了问题,但检查丢失的属性本身是另一项任务。