JSFiddle - React, Tailwind, and code Playground
JavaScript
function main() {
// memoize
function fib(n) {
var value = fib.cache[n];
if (value) {
console.log('Using memoized value for ' + n);
return value;
}
// else
if (n === 0 || n === 1) {
value = n;
} else {
value = fib(n - 1) + fib(n - 2);
}
fib.cache[n] = value;
return value;
}
fib.cache = {};
// memoize up to 5.
console.log(fib(5));
// memoized by calculating first call
console.log(fib(3));
}
main();