Senior
const createCachedSum = function (a, b) { } const sum = createCachedSum() console.log(sum(2, 3)) // 5 console.log(sum(2, 3)) // 5 από την cache console.log(sum(4, 1)) // 5
sobes.tech AI
Απάντηση από AI
javascript
const createCachedSum = function() {
const cache = new Map();
return function(a, b) {
const key = ${a},${b};
if (cache.has(key)) {
console.log('από την 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 από την cache console.log(sum(4, 1)); // 5
Εδώ, δημιουργείται η λειτουργία createCachedSum, η οποία επιστρέφει ένα κλείσιμο με μια εσωτερική cache. Κατά την κλήση της λειτουργίας sum με επιχειρήματα, ελέγχεται αν το αποτέλεσμα ήδη υπάρχει στην cache, αν ναι, επιστρέφεται η αποθηκευμένη τιμή, διαφορετικά υπολογίζεται το άθροισμα και αποθηκεύεται.