Javascript 如何检查对象中的所有属性是否未定义
我想检查对象的所有属性是否都未定义我尝试了这一点,但这始终是真的,因为当其中一个属性未定义时,它是真的:Javascript 如何检查对象中的所有属性是否未定义,javascript,typescript,Javascript,Typescript,我想检查对象的所有属性是否都未定义我尝试了这一点,但这始终是真的,因为当其中一个属性未定义时,它是真的: // Check if property is undefined for (var property in filters) { if (Object.keys(property).indexOf(undefined)) { return this.restaurantsList; } } 过滤器对象如下所示: { ishnationality: undefine
// Check if property is undefined
for (var property in filters) {
if (Object.keys(property).indexOf(undefined)) {
return this.restaurantsList;
}
}
过滤器对象如下所示:
{
ishnationality: undefined
dishtype: undefined
organizeby: undefined
}
我如何简单地检查是否所有的都是未定义的
Object.values(filters).every(el => el === undefined)
实际上,您正在查找对象值,而不是其键
function checkForUndefined(object) {
for (var key in object) {
if (object[key] !== undefined)
return true;
}
return false;
}
这个函数怎么样?下面是一个评估对象中每个属性值的示例:
功能定义(obj){
用于(obj中的var p){
if(obj[p]!==未定义){
返回false;
}
}
返回true;
}
var过滤器定义={
国籍:未定义,
x:未定义
}
console.log(allUndefined(filtersAllUndefined));
var filterSomeUndefined={
国籍:未定义,
x:3
}
console.log(allUndefined(filterSomeUndefined))代码>对象键始终是字符串。永远不要未定义
!类型上不存在值ObjectConstructor@sreinieren使用更现代的typescript版本或忽略错误。使用“lib”:[“es2018”,“dom”]
获取值的定义