# Mazharul Islam's Blog # The sum of a range in JavaScript

I am writing a range function that takes two arguments (start, and end). It will return an array containing all the numbers from start up to end.

I am making the sum of the range function by a few steps.

### Step 1:

Making the range function called `myRange()` with two parameters. Inside the function body, initialize an array to store numbers and it will return a numbers of array.

Now, I am using the for loop to iterate the number range from start to end and using the push method to put value to the array each iteration.

``````function myRange(start, end) {
let arr = [];

for(let i = start; i <= end; i++) {
arr.push(i)
}
return arr;
}
console.log(myRange(1, 10));
``````

I have input the number 1, and 10 as arguments to `myRange(1, 10)` function. The output is `[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`.

But, the problem will occur if someone passes arguments large to small numbers.

### Step 2:

Probably, it will be best to write two separate loops - one for counting up and one for counting down. Also, I have to check whether the `start` parameter value is bigger or smaller. Then the loop will run by following the condition.

``````function myRange(start, end) {
let arr = [];

if (start <= end) {
for(let i = start; i <= end; i++) {
arr.push(i)
}
} else if (start >= end) {
for (let i = start; i >= end; i--) {
arr.push(i);
}
}
return arr;
}

console.log(myRange(1, 10)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(myRange(5, 2)); // [5, 4, 3, 2]
``````

I have called `myRange()` function two times and console them with passed values - one smaller to bigger and one bigger to smaller.

### Step 3:

Now, I am creating the sum function called `mySum()` and passed a parameter. Initialize the sum variable to return the result. I am using for loop for the summation of the values of the previous one to the current one in each iteration.

``````function mySum(val) {
let sum = 0;

for (let i = 0; i < val.length; i++) {
sum += val[i];
}

return sum;
}
console.log(mySum(myRange(1, 10))); // 55
console.log(mySum(myRange(5, 2))); // 14
``````

After the summation the results are `55` for the first range and `14` for the second range.

That's it!

Please share your valuable feedback and suggest to me if I doing wrong. Your feedback/suggestions will inspire me to learn.