JS Built-ins
ControlFlowadvanced

Control Flow β€” generator functions and yield

Generators produce values on demand

A function* is a generator. It pauses at each yield and resumes when .next() is called. Use [...generator()] to collect all yielded values.

Challenge: Write a generator range(start, end) that yields every integer from start to end (inclusive). Then write rangeToArray(start, end) that collects the generator's values into an array.

πŸ’‘ Hints (3)
  • β€’ function* declares a generator
  • β€’ yield pauses and emits a value
  • β€’ Spread [...gen()] collects all values