I just use a one-liner recursive arrow function in ES6; note, it doesn't check but you should only pass it integers else it will never get to a == b so it will blow the stack!
let range = (a, b) => a>b ? range(b, a).reverse() : (a==b ? [a] : range(a, b-1).concat(b));
Are you actually using this in production code? 😂😂
You realise how inefficient this is right? 😂😂
I have adapted Namir's method (see comments). And it is probably the most efficient.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.