Range with Generators

Lazy range functionality using generators in JavaScript.

Generating ranges can take many forms, but one of the most common use cases is enabling generating a list of consecutive numbers.

Example

example.js
let numbers_1_to_10 = Array.from(range(1, 10));
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Code

Here's all it takes to enable generating ranges:

range.js
function* range(from, to, step = 1) {
  for (let i = from; i <= to; i += step) {
    yield i;
  }
}

Last updated