Memoization Advanced in JavaScript

Advanced memoization patterns

AdvancedAdvanced JSExample 5 of 12
memoization-advanced.js
1function memoize(fn) {
2 const cache = new Map();
3 return function(...args) {
4 const key = JSON.stringify(args);
5 if(cache.has(key)) return cache.get(key);
6 const result = fn(...args);
7 cache.set(key, result);
8 return result;
9 };
10}

Output

// Memoized function

What's going on

Memoization caches function results.