Write a `range(start, end)` function that returns an iterable object (has [Symbol.iterator]).
Problem Statement
Write a `range(start, end)` function that returns an iterable object (has [Symbol.iterator]).
Complexity
Time Complexity: -
Space Complexity: -
Hints
š” Hint 1:
An iterable must have a [Symbol.iterator] method that returns an iterator.
š” Hint 2:
An iterator has a next() method returning { value, done }.
š” Hint 3:
return { [Symbol.iterator]() { let i = start; return { next() { return i <= end ? { value: i++, done: false } : { done: true }; } }; } };
ā
Solution:
```javascript
function range(start, end) {
return {
[Symbol.iterator]() {
let i = start;
return {
next() {
return i <= end ? { value: i++, done: false } : { value: undefined, done: true };
}
};
}
};
}
```