memoize

by Yubraj Pokharel

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