memoize
JavaScript
// a simple memoized function to add something
const memoizedAdd = () => {
let cache = {};
return (n) => {
console.log(cache);
if (n in cache) {
console.log('Fetching from cache');
return cache[n];
}
else {
console.log('Calculating result');
let result = n + 10;
cache[n] = result;
return result;
}
}
}
const newAdd = memoizedAdd();
console.log(newAdd(9)); // calculated
console.log(newAdd(9)); // cached