JS cache/memoization function

PHOTO EMBED

Sat Feb 08 2025 22:09:30 GMT+0000 (Coordinated Universal Time)

Saved by @kanatov

function memoize(fn) {
  const cache = new Map();
  return (...args) => {
    const key = JSON.stringify(args);
    if (cache.has(key)) return cache.get(key);
    const result = fn(...args);
    cache.set(key, result);
    return result;
  };
}

// Example: Expensive Fibonacci Calculation
const fibonacci = memoize((n) => (n <= 1 ? n : fibonacci(n - 1) + fibonacci(n - 2)));
content_copyCOPY