Sobes.tech
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ą.