Range Function
Serhii Shramko /
const range = (start, end, step = 1) => {
const numbers = [];
if (typeof end === 'undefined') {
end = start;
start = 0;
}
for (let i = start; i < end; i += step) {
numbers.push(i);
}
return numbers;
};
JavaScript's developers often need a quick and efficient way to generate a sequence of numbers. Whether you're creating an array of values for a loop or generating a series of steps, a range function can be incredibly useful.
Many popular solutions, even Lodash's
_.range,
are not efficient if we read the V8 blog and understand how Arrays work. I will describe these topics in a future post.
Examples
range(5); // Output: [0, 1, 2, 3, 4]
range(2, 8); // Output: [2, 3, 4, 5, 6, 7]
range(1, 10, 2); // Output: [1, 3, 5, 7, 9]