How to sum up all the numbers in a range in JavaScript
Overview
In this shot, we’ll discuss three ways to sum up all the numbers in a given range in JavaScript.
Our program should accept an array of two numbers as input, for example, sumAll([1, 3]). Then, it should process the sum of all the numbers in the given range. It should be noted that both the numbers in the given range are inclusive, that is, 1 and 3 in this example. Finally, the program should return the total/sum as output, which is 6 in the case of this example.
The lowest number will not always come first. Hence, [3,1] should be treated as [1,3].
How to use the traditional for loop
function sumAll(arr) {if (arr[0] > arr[1]) // if the highest number is on the left, sort the arrayarr.sort((a, b) => a - b)let sum = 0 // Initialize a variable that will be holding the sumfor (let i = arr[0]; i <= arr[1]; i++) // Loop over the rangesum += ireturn sum // return result}console.log(sumAll([3,1]))
How to use the .reduce() method
Here we will implement:
- Generate all the array items in the provided range. For example,
[1, 4]=>[1, 2, 3, 4]. - Get the sum by using the
reduce()method.
function sumAll(arr) {if (arr[0] > arr[1])arr.sort((a, b) => a - b)const newArr = []for(let i = arr[0]; i <= arr[1]; i += 1)newArr.push(i)return newArr.reduce((acc, cur) => acc + cur)}console.log(sumAll([3,1]))
We can also use methods other than reduce() to get the sum of the newly created array items.
Happy coding!