Javascript 检查对象中是否有任何键值为false
问题: 我正在寻找一个简单的解决方案来检查对象中是否有任何键值Javascript 检查对象中是否有任何键值为false,javascript,Javascript,问题: 我正在寻找一个简单的解决方案来检查对象中是否有任何键值false 我有一个具有多个唯一键的对象,但是,它们只包含布尔值(true或false) 我知道我可以通过以下行获得对象中的关键帧数: Object.keys(ob).length // returns 3 是否有一个内置的方法来检查任何键值是否为false,而不必遍历对象中的每个键 解决方案: 要检查是否有任何键-请使用 要检查所有键是否正确,请使用 您可以使用数组。一些方法: var hasFalseKeys = Object
false
我有一个具有多个唯一键的对象,但是,它们只包含布尔值(true
或false
)
我知道我可以通过以下行获得对象中的关键帧数:
Object.keys(ob).length // returns 3
是否有一个内置的方法来检查任何键值是否为false,而不必遍历对象中的每个键
解决方案: 要检查是否有任何键-请使用 要检查所有键是否正确,请使用
您可以使用
数组。一些方法:
var hasFalseKeys = Object.keys(ob).some(k => !ob[k]);
您可以创建一个箭头函数isAnyKeyValueFalse
,使用和在应用程序中重用它
代码:
const ob={
斯塔克:没错,
是的,
网站:真的
};
常量isAnyKeyValueFalse=o=>!!key(o).find(k=>!o[k]);
console.log(isAnyKeyValueFalse(ob))代码>以下是我将如何做到这一点:
Object.values(ob).includes(false); // ECMAScript 7
// OR
Object.values(ob).indexOf(false) >= 0; // Before ECMAScript 7
检查是否所有值都为false
Object.values(ob).every(v => !v);
简短回答“否”,你必须循环,并且循环不会显著增加页面的负载,所以我不明白为什么你不能使用“不必循环遍历对象中的每个键”,但这更难……你会考虑诸如“代码>数组”(MAP)(<)>代码>“循环”吗?<代码> /:false [,}] /测试(JSON.StrugI化(OB))
@epascarello-太棒了。。。你也可以使用Object.values
@Florent-是的-但一般逻辑仍然是一样的-获取值,用一些或每一个检查/all/键是否为假有类似的方法吗?@Kyle.Belanger-你可以使用上面相同的逻辑,只要颠倒它就可以了。或者使用every
-var-allFalseKeys=Object.keys(ob).every(k=>!ob[k])代码>
var hasFalseKeys = Object.keys(ob).some(k => !ob[k]);
Object.values(ob).includes(false); // ECMAScript 7
// OR
Object.values(ob).indexOf(false) >= 0; // Before ECMAScript 7
Object.values(ob).every(v => !v);