javascript - 如何检查所有对象键是否都有假值

标签 javascript jquery arrays javascript-objects

JS 对象:

var saver = {
        title: false,
        preview: false,
        body: false,
        bottom: false,
        locale: false
};

问题是如何检查所有值是否都是false

我可以使用 $.each() jQuery 函数和一些标志变量,但可能有更好的解决方案?

最佳答案

更新版本。感谢 @BOB 指出您可以直接使用 values:

Object.values(obj).every((v) => v === false)

此外,如果对象值是(例如 >0、未定义、null、false),不仅当它们严格为 false 时。

<小时/>

这是一个非常简单的解决方案,需要 JavaScript 1.8.5。

Object.keys(obj).every((k) => !obj[k])

示例:

obj = {'a': true, 'b': true}
Object.keys(obj).every((k) => !obj[k]) // returns false

obj = {'a': false, 'b': true}
Object.keys(obj).every((k) => !obj[k]) // returns false

obj = {'a': false, 'b': false}
Object.keys(obj).every((k) => !obj[k]) // returns true

或者你可以写

Object.keys(obj).every((k) => obj[k] == false)
Object.keys(obj).every((k) => obj[k] === false)  // or this
Object.keys(obj).every((k) => obj[k])  // or this to return true if all values are true

请参阅Mozilla Developer Network Object.keys()'s reference欲了解更多信息。

关于javascript - 如何检查所有对象键是否都有假值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23604734/

相关文章:

javascript - 如何计算其余输入

javascript - 获取数组的倒数第二个项目?

javascript - 如何用单个按钮控制 Bootstrap 轮播的播放/暂停

javascript - 准确的 jQuery x y 鼠标点击图像

Java:前n个整数的数组

javascript - 需要将一个页面的 <div> 内容发送到另一页面的特定 <div>

javascript - 在传单弹出窗口中提交表单不返回结果

arrays - 如何将非原始对象数组写入 Arduino EEPROM,然后在每次程序启动时将该数组读入内存

arrays - 将数组划分为子数组

javascript - 如何将 bootstrap-button.js 与 Meteor 一起使用?