freeCodeCamp/curriculum/challenges/chinese/02-javascript-algorithms-an.../intermediate-algorithm-scri.../sum-all-numbers-in-a-range.md

1.2 KiB
Raw Blame History

id title challengeType forumTopicId dashedName
a3566b1109230028080c9345 范围内的数字求和 5 16083 sum-all-numbers-in-a-range

--description--

我们会传入一个由两个数字组成的数组。 给出一个含有两个数字的数组,我们需要写一个函数,让它返回这两个数字间所有数字(包含这两个数字)的总和。 最低的数字并不总是第一位。

例如,sumAll([4,1]) 应返回 10,因为从 1 到 4包含 1、4的所有数字的和是 10

--hints--

sumAll([1, 4]) 应返回一个数字。

assert(typeof sumAll([1, 4]) === 'number');

sumAll([1, 4]) 应返回 10。

assert.deepEqual(sumAll([1, 4]), 10);

sumAll([4, 1]) 应返回 10。

assert.deepEqual(sumAll([4, 1]), 10);

sumAll([5, 10]) 应返回 45。

assert.deepEqual(sumAll([5, 10]), 45);

sumAll([10, 5]) 应返回 45。

assert.deepEqual(sumAll([10, 5]), 45);

--seed--

--seed-contents--

function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);

--solutions--

function sumAll(arr) {
  var sum = 0;
  arr.sort(function(a,b) {return a-b;});
  for (var i = arr[0]; i <= arr[1]; i++) {
    sum += i;
  }
  return sum;
}