Senior
const createCachedSum = function (a, b) { } const sum = createCachedSum() console.log(sum(2, 3)) // 5 console.log(sum(2, 3)) // 5 depuis le cache console.log(sum(4, 1)) // 5
sobes.tech IA
Réponse de l'IA
javascript
const createCachedSum = function() {
const cache = new Map();
return function(a, b) {
const key = ${a},${b};
if (cache.has(key)) {
console.log('depuis le 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 depuis le cache console.log(sum(4, 1)); // 5
Ici, la fonction createCachedSum est créée, qui retourne une fermeture avec un cache interne. Lors de l'appel de la fonction sum avec des arguments, il est vérifié si le résultat est déjà dans le cache, si oui, la valeur sauvegardée est renvoyée, sinon la somme est calculée et sauvegardée.