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

1.9 KiB

id title isRequired challengeType
a3566b1109230028080c9345 Sum All Numbers in a Range true 5

Description

We'll pass you an array of two numbers. Return the sum of those two numbers plus the sum of all the numbers between them. The lowest number will not always come first.

For example, sumAll([4,1]) should return 10 because sum of all the numbers between 1 and 4 (both inclusive) is 10.

Remember to use Read-Search-Ask if you get stuck. Try to pair program. Write your own code.

Instructions

Tests

tests:
  - text: <code>sumAll([1, 4])</code> should return a number.
    testString: assert(typeof sumAll([1, 4]) === 'number', '<code>sumAll([1, 4])</code> should return a number.');
  - text: <code>sumAll([1, 4])</code> should return 10.
    testString: assert.deepEqual(sumAll([1, 4]), 10, '<code>sumAll([1, 4])</code> should return 10.');
  - text: <code>sumAll([4, 1])</code> should return 10.
    testString: assert.deepEqual(sumAll([4, 1]), 10, '<code>sumAll([4, 1])</code> should return 10.');
  - text: <code>sumAll([5, 10])</code> should return 45.
    testString: assert.deepEqual(sumAll([5, 10]), 45, '<code>sumAll([5, 10])</code> should return 45.');
  - text: <code>sumAll([10, 5])</code> should return 45.
    testString: assert.deepEqual(sumAll([10, 5]), 45, '<code>sumAll([10, 5])</code> should return 45.');

Challenge Seed

function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);

Solution

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;
}