Sum All Numbers in a Range
我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。
最小的数字并非总在最前面。
function sumAll(arr) { var result=0; a_start=Math.min(arr[0],arr[1]); a_end=Math.max(arr[0],arr[1]); while(a_start<=a_end){ result+=a_start; a_start++; } return result; } sumAll([1, 4]); /*公式方法*/ function sumAll(arr) { return (arr[0] + arr[1])*(Math.abs(arr[0] - arr[1]) + 1)/2; } /*利用reduce来进行求和*/ function sumAll(arr) { var arryA=[]; var max=Math.max.apply(null,arr); var min=Math.min.apply(null,arr); var sum=0; var sumFun=function(max,min){ for(var i=0;i<(max-min+1);i++){ arryA.push(min+i); } console.log(arryA); var value=arryA.reduce(function(previousValue,currentValue){ return previousValue+currentValue; }); return value; }; sum=sumFun(max,min); return sum; } console.log(sumAll([5, 10]));