验证javascript对象中字段的更好方法
我想验证该对象,以便该对象不为null,并且该对象中的几个字段不为空验证javascript对象中字段的更好方法,javascript,arrays,Javascript,Arrays,我想验证该对象,以便该对象不为null,并且该对象中的几个字段不为空 例如,考虑以下对象: address ={ block : '2134', street : 'berly street', county : 'someCountry' postal : '876546' } 我正在使用es6。我找到了解决办法 我想用简单的JS来做这件事。 请告诉我是否有比下面更好的方法: const isValidAddress = (address) => {
例如,考虑以下对象:
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这解决不了问题,但检查丢失的属性本身是另一项任务。