Basic JavaScript - Use Recursion to Create a Range of Numbers

Tell us what’s happening:
Describe your issue in detail here.
Can someone help with this don’t know what i’m doing wrong…

Your code so far

function rangeOfNumbers(startNum, endNum) {

if (startNum === endNum) {
//base case
    return [startNum];
} else {
//recursive case
    let array = rangeOfNumbers(startNum + 1);
    array.push(startNum);
    return array;
}

}


console.log(rangeOfNumbers(1,19))

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Use Recursion to Create a Range of Numbers

Link to the challenge:

You didn’t say what the problem is but I will guess that your result is in the wrong order?

Doesn’t the function rangeOfNumbers take two arguments?

1 Like

In the console I get: RangeError: Maximum call stack size exceeded

Also tests not passing

Idk but here i’m increasing the startNum by 1 until it reaches my base case

If a function takes two parameters to work properly then you must pass it two parameters. Your base case depends on two parameters because it compares them. So you must always pass in two arguments to the function. Thus:

let array = rangeOfNumbers(startNum + 1);

Is not going to give you the results you want since you didn’t include the second argument and thus endNum will be undefined when that if statement runs.

1 Like

Pass endNum to function inside else statement like so : Mod Edit SOLUTION REMOVED

It is great that you solved the challenge, but instead of posting your full working solution, it is best to stay focused on answering the original poster’s question(s) and help guide them with hints and suggestions to solve their own issues with the challenge.

We are trying to cut back on the number of spoiler solutions found on the forum and instead focus on helping other campers with their questions and definitely not posting full working solutions.

Ahhh that makes sense. I added endNum to it and it worked. Thank you

1 Like