Examples:
fib(4) === 3
fib(7) === 13
fib(10) === 55
function memoize(fn) { const cache = {}; return function(...args) { // assign as an array of arguments if (cache[args]) { return cache[args]; } const result = fn.apply(this, args); cache[args] = result; return result; } } function fib(n) { if (n < 2) { return n; } return fib(n-1) + fib(n-2); }