aay*_*shi 0 javascript array-algorithms
似乎编译器没有进入for循环.数组的总和是计算的.SumAll([1,4])应该返回10(1 + 2 + 3 + 4)作为输出.
function sumAll(arr) {
//return Math.max.apply(Math,arr);
//return Math.min.apply(Math,arr);
// return "0";
var sum=arr.reduce(function(a,b){
for(var i=Math.min.apply(Math,arr);i<=Math.max.apply(Math,arr);i++){
return a+b;
}
},0);
//return sum;
}
sumAll([1, 4]);
Run Code Online (Sandbox Code Playgroud)
您可以直接使用数组中的值,而不是reduce.
function sumAll(arr) {
var i, sum = 0;
for (i = Math.min.apply(null, arr); i <= Math.max.apply(null, arr); i++) {
sum += i;
}
return sum;
}
console.log(sumAll([1, 4]));
console.log(sumAll([1, 3, 9]));Run Code Online (Sandbox Code Playgroud)