javascript intermediate Ends 2026-11-17

Memoize with a cache limit

Write memoize(fn, limit) that returns a function which remembers results by its arguments.

  • Calling it again with the same arguments returns the cached result without calling fn.
  • Arguments are compared by value: use JSON.stringify(args) as the cache key.
  • Keep at most limit results; when full, forget the oldest entry.
  • The returned function has a .clear() method that empties the cache.

Acceptance criteria

  • The tests at the bottom print All tests passed.

Hint: a Map remembers insertion order, and map.keys().next().value is the oldest key.

Solved by 0 people so far.

javascript
EditorCtrl + Enter

            
        

When the tests print "All tests passed", the challenge is marked solved in this browser.

Submit your solution for review