我试图找到一种方法来编写一个函数,该函数将数组中的所有元素汇总起来。我一直试图使用JavaScripts减少函数来实现这个功能。我遇到的问题是,我希望这个函数既可以处理空数组,也可以处理元素作为单独场景的数组。下面的示例通过了一个空数组的测试用例,但是当数组中有元素时就不行了,反之亦然。
function sum (numbers) {
numbers = ['a', 'b', 'c'];
return numbers.reduce(function (x, y, i) {
return x + y + i;
}), 0 };我正在查看reduce函数的签名,并试图在此基础上实现它,但在这里我的知识中似乎缺少一些东西。
function (previousValue, currentElement, currentIndex, array)发布于 2015-12-08 10:45:43
以下内容既适用于数字数组,也适用于空数组(其中的结果显然为零)
var sum = numbers.reduce(function(prev,curr){
return curr + prev;
},0);下面是两种场景的演示
function sum(numbers){
var x = numbers.reduce(function(prev,curr){
return curr + prev;
},0);
return x;
}
alert(sum([1,2,3]));
alert(sum([]));
https://stackoverflow.com/questions/34153769
复制相似问题