我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。
最小的数字并非总在最前面。
上面的描述是FCC给出的算法描述,简单易懂。
解题思路:
要求两个数字范围内的数字的总和,用for循环或者while循环就够用了。
但在这里需要注意的就是两个数字的大小,比较一下大小,再用循环累加就可以了。
function sumAll(arr) {
var sum=0;
if(arr[0]<arr[1]){
for(var i=arr[0];i<=arr[1];i++){
sum += i;
}
}else{
for(var k=arr[1];k<=arr[0];k++){
sum += k;
}
}
return sum;
}
sumAll([1, 4]);
很简单,一看就懂。先判断大小,再用循环进行累加。
----------------------------------------------------------------------------------------------------------------------------------
function sumAll(arr) {
var left = Math.min.apply(null, arr);
var right = Math.max.apply(null, arr);
var numArr = [];
for (var i = left; i <= right; i++) {
numArr.push(i);
}
return numArr.reduce(function(prev, next) {
return prev + next;
})
}