Is there a way to create an Integer range?
In other languages, I can use Range(1, 9) to create [1, 2, ... 8] easily.
Is there a simple way to create the list in JavaScript?
Is there a way to create an Integer range?
In other languages, I can use Range(1, 9) to create [1, 2, ... 8] easily.
Is there a simple way to create the list in JavaScript?
const range = (start, end) => Array.from({length: end - start}, (_, i) => start + i); console.log(range(1,5)); That creates an array with the indexes. If you need it in a loop, an iterator might be better:
function* range(start, end = Infinity) { for(let i = start; i < end; i++) yield i; } Which can be used as:
for(const v of range(1, 10)) console.log(v); You can also turn an iterator into an array easily:
console.log([...range(0, 10)]); Is there a simple way to create the list in JavaScript?
No, but you can create your own solution using ES features like map and spread syntax.
var range = (start, end) => start < end ? [...Array(end - start)].map((_, i) => start + i) : []; console.log(range(1,9)); Also, returns an empty array for case when start is greater than end.
(1,9)Range(9,1). This case is also not handledstart > end I returns just an empty array.You can create a reusable function called Range and loop over the start and end values. You can further add a if condition that ensures that the start value is always less than the end value.
function Range(start, end){ var rangeArray = []; if(start < end){ for(var i=start; i<end; i++){ rangeArray.push(i); } } return rangeArray; }; console.log(Range(1,9)); console.log(Range(2,9)); console.log(Range(5,12)); console.log(Range(16,12)); console.log(Range(30,12));