JSFiddle - React, Tailwind, and code Playground

Caching memoization

by Krishna Ananthi

JavaScript

function add(a, b){
		console.log("called add func");
    return a+b;
}

function sub(a, b){
		console.log("called sub func");
    return a-b;
}

function memo(func){
	let prevArgs = {};
  
	return (...args) => {
    const key = JSON.stringify(args);
    if(prevArgs[key]!== undefined) {
    		return prevArgs[key];
    }
    else prevArgs[key] = func(...args);
    return prevArgs[key];
  };
}


const mAdd=memo(add);
console.log(mAdd(2,2))
console.log(mAdd(2,2))
console.log(mAdd(2,3))