我知道api团队是负责将正确的数据发送给请求数据的客户端的团队。但是,我仍然想知道检查属性是否存在的最佳方法。
// when state property is missing from the api response
myObject = {
name : 'Scott',
addressInfo : {
address1 : '444 St Peter St',
address2 : 'Apartment D',
zipCode : '55555'
},
birthDate : '20000101'
}
要么
// or when birtdate is missing
myObject = {
name : 'Scott',
addressInfo : {
address1 : '444 St Peter St',
address2 : 'Apartment D',
zipCode : '55555',
state : 'MN'
}
}
要么
// when addressInfo is missing
myObject = {
name : 'Scott',
birthDate : '20000101'
}
下面的代码是否足以进行检查?
if (myObject.addressInfo !== undefined && myObject.addressInfo.state !== undefined) {
// console.log(
}
最佳答案
如果您愿意使用lodash或underscore之类的库,则测试对象中是否存在键的一种非常方便的方法是_.has
方法:
var x = { "a": 1 };
_.has(x,"a"); //returns true
_.has(x,"b"); //returns false