The sum of a range in JavaScript

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.