javascript - 仅当对象的所有值都不为空时才返回对象
问题描述
假设我有一个对象,其中每个字段的值都是通过单独的调用检索的:
let ExampleObj = {
foo: getFoo(),
bar: getBar(),
baz: getBaz(),
...
}
我有一个函数,当且仅当所有字段都评估为非空时才会返回对象:
let returnsExampleObj = () => {
// if (!!ExampleObj.foo && !!ExampleObj.bar && !!ExampleObj.baz) {
// return ExampleObj
// } else {
// return undefined
// }
}
我显然可以手动检查每个字段以查看它是否像上面的示例中那样为空,但是有没有更优雅的方法呢?该对象中可能有几十个字段,手动检查每个字段将非常繁琐。
解决方案
只需检查这些.every
值是否真实:
const returnsExampleObj = () => {
return Object.values(ExampleObj).every(Boolean) ? ExampleObj : undefined;
};
推荐阅读
- magento2 - how to apply a custom css class on a magento 2 customer forget password page
- python - 以有效的方式从 3d numpy 中选择多个值
- r - 如何在R中逐年删除具有顶部和底部1%值的观察值
- mysql - 如何在 Slick 中使用 LIKE 运算符?
- c - 我应该如何理解这些 C 语法?
- azure - Azure 数据工厂同时插入/更新两个表
- qt - 如果我调用 Qt 小部件的 setValue() 或类似函数,它的 valueChanged() 插槽何时保证执行?
- machine-learning - 为什么我的 python 代码在将字典列表加载到 Tokenizer 对象时会给出类型错误,因为 dict 对象不可调用?
- javascript - 如何在回调函数中显示数组
- php - 当我输入价格 0 时,状态需要在 CodeIgniter 中显示 outstock