javascript - 对函数数组进行与运算
问题描述
鉴于:
const a = () => true
const b = () => false
const t = [a, b]
如何生成添加剂和:
a() && b()
在这种情况下,它将返回false
.
解决方案
true
您可以使用as startValue减少数组,并使用函数调用的结果执行逻辑与&&
。
这种方法保留了函数调用的值。
const a = () => true
const b = () => false
const t = [a, b]
console.log(t.reduce((r, f) => r && f(), true));
使用结果存储值和短路的方法。
const AND = array => {
var result = true;
array.every(fn => result = result && fn());
return result;
};
推荐阅读
- selenium - 无头 chrome 中的元素属性与常规 chrome 不同,因此 selenium 返回 NoSuchElementException
- java - Spring boot @RedisHash 创建多个键而不是一个
- angular - 由于 Private 成员,Angular AOT 构建失败
- python - 无法使用 python 抓取“链接文本”
- deep-linking - 在调用的本机应用程序中完成操作后,放置在网站中的深层链接能否将值返回给在浏览器中打开的网站?
- specflow - .net 核心中的 SpecFlow+ 配置文件转换替代方案?
- c# - C# .NET Core - 工厂方法与构造函数
- reactjs - 在 Material UI 中使用带有 AppBar 的菜单的正确方法是什么
- c# - asp.net webapp 的 Cron 或计划任务
- python - 有没有办法在jupyter记事本python中使用BeautifulSoup或Selenium从不同网站刮取LinkedIn链接