首页 > 解决方案 > 对函数数组进行与运算

问题描述

鉴于:

const a = () => true
const b = () => false

const t = [a, b]

如何生成添加剂和:

a() && b()

在这种情况下,它将返回false.

标签: javascript

解决方案


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;
    };

推荐阅读