Senior
const createCachedSum = function (a, b) { } const sum = createCachedSum() console.log(sum(2, 3)) // 5 console.log(sum(2, 3)) // 5 iš cache console.log(sum(4, 1)) // 5
sobes.tech AI
Atsakymas iš AI
javascript
const createCachedSum = function() {
const cache = new Map();
return function(a, b) {
const key = ${a},${b};
if (cache.has(key)) {
console.log('iš 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 iš cache console.log(sum(4, 1)); // 5
Čia sukuriama funkcija createCachedSum, kuri grąžina uždarymą su vidiniu talpykla. Kviečiant funkciją sum su argumentais, tikrinama, ar rezultatas jau yra talpykloje, jei taip, grąžinama išsaugota reikšmė, kitaip skaičiuojama suma ir įrašoma į talpyklą.