Memorize

by Saurabh Khemka

HTML

Memorize

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