我对学校作业有一些出色的要求,应该从一个集合中返回真值/假值。以下是出色的要求:
1)应该通过所有真实结果的集合
2)应该通过一个包含混合truthy / falsy结果的集合
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个功能来实现所需的结果?非常感谢。
答案 0 :(得分:0)
您可以使用内置过滤功能:
var myTruthTest = function(collection, iterator) {
return !!collection.filter(function(item) {
return !!item || iterator && iterator(item);
}).length;
};