This just adds startNum to arr and then returns arr. So your function is only going to return an array with one number. The recursive call is made but nothing is done with it. So what is the purpose of making the recursive call?
Your base case is fine. If I called your function as:
rangeOfNumbers(1,1)
Then it would return [1] because startNum is equal to endNumb and so no recursive call needs to be made.
But how about if we call your function as:
rangeOfNumbers(1,2)
We are going to hit the else because startNum does not equal endNum and thus we will make a recursive call. What will be the numbers we pass into the recursive call? What will that recursive call return? How will you use that return value to return the correct answer ([1, 2] in this case)?
We can read the instructions. I was asking for you to talk to us in your own words about what exactly has you stuck because that makes in a lot easier for us to help.