TGViewer
JavaScript JavaScript @javascript · 31.1K subscribers
Post #3472 2K
CHALLENGE

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

const range = new Range(1, 5);
const arr1 = [...range];
const arr2 = [...range];
const sum = arr1.reduce((a, b) => a + b, 0);
console.log(arr1.join(','), arr2.join(','), sum);
  • ❤ 1
  • 👍 1
More from @javascript
  1. Sep 20, 2026Post #3507
  2. Sep 20, 2026CHALLENGE 'use strict'; function getValue() { return this.value; } const obj = { value: 42…
  3. Sep 19, 2026Post #3505
  4. Sep 19, 2026CHALLENGE const a = 5 & 3; const b = 5 | 2; const c = ~5; const d = 1 << 31; const e = -1…
  5. Sep 18, 2026Post #3503
  6. Sep 18, 2026CHALLENGE let i = 0; const key = () => `k${i++}`; const obj = { [key()]: i, [key()]: i, [k…
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 →