Senior
const createCachedSum = function (a, b) { } const sum = createCachedSum() console.log(sum(2, 3)) // 5 console.log(sum(2, 3)) // 5 uit cache console.log(sum(4, 1)) // 5
sobes.tech AI
Antwoord van AI
javascript
const createCachedSum = function() {
const cache = new Map();
return function(a, b) {
const key = ${a},${b};
if (cache.has(key)) {
console.log('uit de cache');
return cache.get(key);
}
const result = a + b;
cache.set(key, result);
return result;
};
};
const sum = createCachedSum();
console.log(sum(2, 3)); // 5 console.log(sum(2, 3)); // 5 uit de cache console.log(sum(4, 1)); // 5
Hier wordt de functie createCachedSum gemaakt, die een closure met een interne cache retourneert. Bij het aanroepen van de functie sum met argumenten wordt gecontroleerd of het resultaat al in de cache staat, zo ja, wordt de opgeslagen waarde geretourneerd, anders wordt de som berekend en opgeslagen.