Memorize
by Saurabh Khemka
JavaScript
// a simple memoized function to add something
const memoizedAdd = function() {
let cache = {};
return (n) => {
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;
}
}
}
// returned function from memoizedAdd
const newAdd = memoizedAdd();
console.log(newAdd)
console.log(newAdd(9)); // calculated
console.log(newAdd(9)); // cached