const memoize = (fn) => {
    const cache = {};
    return (...args) => {
        const key = JSON.stringify(args);
        if (key in cache) return cache[key];
        const result = fn(...args);
        cache[key] = result;
        return result;
    }
}

const expensiveFn = (value) => {
    console.log("Expensive operation...");
    return value * value;
}

const memoizedExpensiveFn = memoize(expensiveFn);

console.log(memoizedExpensiveFn(2));
console.log(memoizedExpensiveFn(2));
console.log(memoizedExpensiveFn(6));
console.log(memoizedExpensiveFn(6));
console.log(memoizedExpensiveFn(6));

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: