Free Code Camp
Sum All Numbers in a Range
今天做了一个算法题,是FFC上面的一道中级算法题,具体的要求为:我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。
最小的数字并非总在最前面。
具体实现
function sumAll(arr) {
var newarr=[];
for(var i=Math.min(arr[0],arr[1]);i<=Math.max(arr[0],arr[1]);i++){
newarr.push(i);
}
return newarr.reduce(function(a,b){return a+b;});
}
sumAll([1, 4]);
注意在FFC中也提醒我们要用到的方法,Math.max、Math.min、以及array.reduce的方法。我们自定义一个数组装载数据,将最小到最大值的中间的数值都存在数组里,然后再利用reduce的方法将计算累加和。