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”]
获取
值的定义