你好,我想找出一个对象是否有任何键值是正确的。
以下仅适用于没有嵌套对象的对象。
我正在尝试检查对象中的任何键(无论父项还是子项)是否具有真实值
const odb = {
"all": true,
"allA": false,
"allB": false,
"allC": {
"allD": false,
"allE": false,
}
}
const isAnyKeyValueTrue = o => !Object.keys(o).find(k => !o[k]);
console.log(isAnyKeyValueTrue(odb));
Run Code Online (Sandbox Code Playgroud)
检查该值是否是一个对象,如果是,则isAnyKeyValueTrue再次调用。另外,为了在语义上更加正确,我使用some了find. 我用它&& o[k]来确保null没有赋予该函数(自 以来typeof null === "object")。
const odb = {
"all": false,
"allA": false,
"allB": false,
"allC": {
"allD": false,
"allE": { "allF": true },
}
}
const isAnyKeyValueTrue = o => Object.keys(o).some(k => typeof o[k] === "object" && o[k] ? isAnyKeyValueTrue(o[k]) : o[k] === true);
console.log(isAnyKeyValueTrue(odb));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |