【发布时间】:2016-01-19 12:33:34
【问题描述】:
我想这是两个问题。我仍然无法使用 reduce 方法,我得到了使用它的简单方法
reduce([1,2,3], function(a, b) {
return a + b;
}, 0);
//6
将它与数字以外的任何东西一起使用真的让我感到困惑。那么如何使用 reduce 代替 for 循环来构建 contains 函数呢?评论将不胜感激。谢谢大家。
function contains(collection, target) {
for(var i=0; i < collection.length; i++){
if(collection[i] === target){
return true;
}
}
return false;
}
contains([1, 2, 3, 4, 5], 4);
//true
【问题讨论】:
-
我不认为你可以用
Array.prototype.reduce做到这一点,但你可以编写自己的reduce函数来理解reduced值(终止迭代)。 -
嗯,
Array.indexOf? -
为什么要使用 reduce 来包含?
-
实际上 reduce() 是有道理的,因为您想将许多转换为一个。
-
几年后你可以使用Array.includes,注意MDN上有一个polyfill。
标签: javascript for-loop functional-programming reduce