Pure function memoize
by Vatsal Pande
JavaScript
const memoize = (fn) => {
const cache = {};
return (...args) => {
debugger;
const argStr = JSON.stringify(args);
if(!cache[argStr]) {
console.info('---- Inside function -------');
cache[argStr] = fn(...args);
}
console.info('---- Going Inside cache -------');
return cache[argStr];
}
}
const squareNumber = memoize(num => num*num);
squareNumber(5);
squareNumber(5);
squareNumber(5);
squareNumber(6);
squareNumber(6);
squareNumber(6);