TGViewer
JavaScript JavaScript @javascript · 31.1K subscribers
Post #3219 2.44K
CHALLENGE


class Range {
constructor(start, end, step = 1) {
this.start = start;
this.end = end;
this.step = step;
}

[Symbol.iterator]() {
let current = this.start;
const { end, step } = this;
return {
next() {
if (current <= end) {
const value = current;
current += step;
return { value, done: false };
}
return { value: undefined, done: true };
}
};
}
}

const range = new Range(1, 10, 3);
const result = [...range].map(n => n ** 2);
console.log(result);
  • ❤ 5
  • 🔥 2
More from @javascript
  1. Sep 22, 2026Post #3511
  2. Sep 22, 2026CHALLENGE function Foo(x) { this.x = x; return { x: x * 2 }; } function Bar(x) { this.x =…
  3. Sep 21, 2026Post #3509
  4. Sep 21, 2026CHALLENGE console.log( typeof typeof 1, 1 + typeof 1, 2 ** 3 ** 2, 1 + 2 + '3', 1 < 2 < 3,…
  5. Sep 20, 2026Post #3507
  6. Sep 20, 2026CHALLENGE 'use strict'; function getValue() { return this.value; } const obj = { value: 42…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →