Javascript 一个函数的函数数组(逻辑连接)

Javascript 一个函数的函数数组(逻辑连接),javascript,Javascript,我有一个函数数组,每个函数都返回布尔值: (数据、过滤器)=>布尔值 (取决于参数是否满足函数中存储的条件),我想创建一个方法,动态合并所有参数并返回一个函数作为逻辑连接: function1&&function2&&function3&&… 我试图使用&=运算符,但它不起作用: method(expressions) { let result; expressions.forEach(exp => { result &= exp; co

我有一个函数数组,每个函数都返回布尔值:

(数据、过滤器)=>布尔值

(取决于参数是否满足函数中存储的条件),我想创建一个方法,动态合并所有参数并返回一个函数作为逻辑连接:

function1&&function2&&function3&&…

我试图使用
&=
运算符,但它不起作用:

  method(expressions) {
    let result;
    expressions.forEach(exp => {
      result &= exp;
      console.log(result);
    });
    return result;
  }

给定这种函数数组:

const expressions = [
    (data, filter) => true,
    (data, filter) => false,
    ...
];
您可以这样对它们进行求值(
d
f
被假定为传递给每个函数的值):


一旦任何函数返回
false
,将立即停止。您可以使用来测试相反的情况,即是否有任何函数返回
true
。而是在所有表达式中循环,并且更接近您尝试的内容;在这个特定的示例中,它不是很有用,但是如果您需要以其他方式组合返回值,它可能会很有用。

我不知道这些函数中的每一个都做什么,但是您是否考虑过使用Promise.all?与
数据
过滤器
表达式.map(e=>e(数据,过滤器)).each(结果=>result)
@RPasha,这正是我想要的!:)谢谢
expressions.every(exp => exp(d, f))
// or
expressions.reduce((res, exp) => res && exp(d, f), true)