0

我对学校作业有一些突出的要求,应该从集合中返回真值/假值。以下是突出的要求:

1)应该通过所有真实结果的集合

2) 应该通过包含混合真/假结果的集合

3) 应该传递一个包含一个字符串真值的集合

4) 应该传递一个包含一个匹配值的集合

5) 应该将结果转换为布尔值

6)当没有提供回调时应该工作

我对 Javascript 很陌生,所以我不确定上述所有内容是否可以在同一个函数中完成,但这就是我阅读作业的方式。这是我到目前为止所拥有的:

  myCustomForEach = function(collection, iterator) {
      for(var val in collection){
          if (iterator(collection[val])) {
              return true;
          } else {
              return false;
          }
      }
  };

这是我需要帮助的功能:

 myTruthTest = function(collection, iterator) {
     var result = _.every(collection, iterator);
     if (result) {
         return true;
     } else {
         return false;
     }
 };

我不需要使用自定义 forEach,但我不能使用任何内置函数。我是在想这个还是我认为这需要超过 1 个功能才能达到所需的结果?非常感谢帮助。

4

1 回答 1

0

您可以使用内置过滤器功能:

var myTruthTest = function(collection, iterator) {
    return !!collection.filter(function(item) {
        return !!item || iterator && iterator(item);
    }).length;
};
于 2015-05-22T16:35:45.043 回答