Tell us what’s happening:
This solution worked. I’m just looking for some feedback on the comments I have included to see if my thinking is on the right track. I feel like I’m doing more learning of what to do rather than how to do with this course. So, I’m trying to add comments to each thing I do as a way to talk myself through it in a way that makes logical sense.
Your code so far
function rangeOfNumbers(startNum, endNum) {
// "The starting number will always be less than or equal to the ending number"
// create the condition that will end the recursion
if (startNum >= endNum) {
// "The function should return an array of integers which begins with a
// number represented by the startNum"
// when this condition is met, create an array with the startNum
return [startNum];
} else {
// I really just looked at 'Use recursion to create a countdown' exercise for this
// part and just stumbled onto it by replacing arguments in rangeOfNumbers similar
// to the way it was done in the exercise.
// I'm not sure if I really understand it.
// if condition not met, create a variable that will check conditions 1 by 1
// reducing endNum by 1 until condition is met.
const numArray = rangeOfNumbers(startNum, endNum - 1);
// then start adding the endNums from the stack into the array
// ex. rangeOfNumbers(1, 5) 1 !>= 5 so, then it tries (1, 4(endNum -1)) etc.
// until it reaches (1, 1). at that point it creates an array of [1(startNum)]
// then it will add endNum from each attempt to array (1, 2), (1, 3), (1, 4), (1, 5)
// until it has exhausted the stack.
numArray.push(endNum);
// then return that array.
return numArray;
}
}
// I somewhat understand that recursions create a call stack that is then returned
// using last in first out.
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 OPR/109.0.0.0
Challenge Information:
Basic JavaScript - Use Recursion to Create a Range of Numbers