0 Tage Serie
javascript / intermediate
Snippet

Higher-Order Funktionen für Memoization

Memoization ist eine Optimierungstechnik, bei der die Ergebnisse teurer Funktionsaufrufe gespeichert werden, um das zwischengespeicherte Ergebnis zurückzugeben, wenn dieselben Eingaben erneut auftreten.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
const memoize = (fn) => {
const cache = new Map();
return (...args) => {
const key = JSON.stringify(args);
if (cache.has(key)) return cache.get(key);
const result = fn(...args);
cache.set(key, result);
return result;
};
};
Erklärung
1
const cache = new Map();
Erstellt einen persistenten Speicher für Ergebnisse mittels einer Closure.
2
if (cache.has(key)) return cache.get(key);
Prüft, ob die Berechnung für diese spezifischen Argumente bereits durchgeführt wurde.