| # | title | topic | type | difficulty |
|---|---|---|---|---|
| 1 | Flatten to any depth — no recursion allowed | Arrays | Coding | Medium |
| 2 | Pair sum detection with .some() only | Arrays | Coding | Hard |
| 3 | Matrix validation with .every() | Arrays | Coding | Hard |
| 4 | Function composition with reduceRight | Arrays | Coding | Hard |
| 5 | Build a matrix with Array.from |
| Arrays |
| Coding |
| Medium |
| 6 | One-pass tokenizer with flatMap | Arrays | Coding | Medium |
| 7 | Take control of ToPrimitive | Type Coercion | Coding | Hard |
| 8 | Max of a nested structure — no loops | Math | Coding | Medium |
| 9 | Swap two values without a temp variable | Destructuring | Coding | Medium |
| 10 | Group transactions by risk bucket | Objects | Coding | Hard |
| 11 | Dissect a URL with new URL() | URL & Web APIs | Coding | Medium |
| 12 | Reverse an integer with do…while | Loops | Coding | Medium |
| 13 | Labeled break out of nested loops | Loops | Coding | Hard |
| 14 | Collatz stopping time with while | Loops | Coding | Medium |
| 15 | for…of with entries() and destructuring | Loops | Coding | Medium |
| 16 | Write the narrowing a compiler would demand | TypeScript | Coding | Hard |
| 17 | Sum prices to the exact cent | Floating Point | Coding | Hard |
| 18 | Split a payment — never lose a cent | Payments | Coding | Hard |
| 19 | Reconcile a payment ledger | Payments | Coding | Hard |
| 20 | Python-style negative array indexes | Proxy & Reflect | Coding | Hard |
| 21 | Type-enforcing object via set trap | Proxy & Reflect | Coding | Hard |
| 22 | Auto-vivifying counter (defaultdict) | Proxy & Reflect | Coding | Medium |
| 23 | Make a plain object for…of-able | Loops | Coding | Hard |
| 24 | Build bind() yourself (hard binding) | YDKJS Book | Coding | Hard |
| 25 | The module pattern: private state via closure | YDKJS Book | Coding | Medium |
| 26 | once(fn) — run exactly one time | YDKJS Book | Coding | Medium |
| 27 | Rebuild Array.prototype.reduce — holes and all | Arrays | Coding | Hard |
| 28 | Rebuild Array.prototype.with (ES2023) | Arrays | Coding | Hard |
| 29 | take(iterable, n) — lazy, infinite-safe | Loops | Coding | Hard |
| 30 | curry(fn) — collect arguments until arity is met | YDKJS Book | Coding | Hard |