真的找不到答案。
我有一个应该允许用户通过它的“检查”功能(返回truefalse的功能)。支票将用于大量项目。对于每个项目,我想知道所有检查是否都返回true。

function foo(checksArray) { //checksArray: [func1, func2, func3]
  var itemList = [1, 2, 3, 4];
  for (item of itemList)
    if (checkAllFunctions(item))
      doSomething();
}


我该怎么做?显然,我可以使用for循环遍历每个函数,但我怀疑可能会有更好的方法。也许甚至有一线。

感谢您的帮助。

编辑:我猜即使检查之一返回false,也没有任何意义可以保持运行。如果它可以就此停止,那就更好了!

最佳答案

使用forEach占用itemList的每个元素。在该循环内,使用every检查checksArray中的每个函数是否通过。

function foo(checksArray) { //checksArray: [func1, func2, func3]
  var itemList = [1, 2, 3, 4];

  itemList.forEach(function(item) {
    if (checksArray.every(function(check) { return check(item); })) doSomething();
  });
}

09-25 19:01