Senior
const createCachedSum = function (a, b) { } const sum = createCachedSum() console.log(sum(2, 3)) // 5 console.log(sum(2, 3)) // 5 no cache console.log(sum(4, 1)) // 5
sobes.tech AI
Atbilde no AI
javascript
const createCachedSum = function() {
const cache = new Map();
return function(a, b) {
const key = ${a},${b};
if (cache.has(key)) {
console.log('no 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 no cache console.log(sum(4, 1)); // 5
Šeit tiek izveidota funkcija createCachedSum, kas atgriež slēgumu ar iekšēju kešatmiņu. Izsaucot funkciju sum ar argumentiem, tiek pārbaudīts, vai rezultāts jau ir kešatmiņā, ja ir, tiek atgriezta saglabātā vērtība, pretējā gadījumā tiek aprēķināta summa un saglabāta.