我想了解reduce函数的原始代码以及如何使用它。通过把它们加起来就像一个正常的减少功能不,但它不工作,我想它的方式减少JavaScript中的函数
var each = function(collection, callback){
if(Array.isArray(collection)){
for(var i=0;i<collection.length;i++){
callback(collection[i]);
}
}
else{
for(var key in collection){
callback(collection[key]);
}
}
};
var reduce = function(collection, callback, accumulator){
each(collection, function(element){
if(accumulator === undefined) {
return accumulator = element;
}else {
return accumulator = callback(accumulator, element);
};
});
return accumulator;
};
var sArr = [3, 2, 3, 4, 5];
each(sArr, function(collection){
console.log(collection);
});
reduce(sArr, function(collection, prev){
console.log(prev = prev + sArr);
});
在上面,你可以看到,我想我所有的阵列减少到一个元素我的代码是。
有人可以检查我是否做错了,如果你可以向外行解释我的减少功能是一行一行吗?
对不起新手。
你在等什么,你会得到什么? (我猜你可能希望你的'reduce'函数在最后返回一个值) –
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce – Ryan
@ JosiahKeller:我得到了一系列的减法数字:“21,2,3,4,5” –