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]));

 

posted @ 2016-11-25 12:32  兴趣使然的椰子  阅读(935)  评论(0编辑  收藏  举报