梗概
JS实现
function memoize(func) {
const cache = new Map();
return function(...args) {
const key = JSON.stringify(args);
if (!cache.has(key)) {
cache.set(key, func(...args));
}
return cache.get(key);
};
}
// Example usage
const add = (a, b) => {
console.log('Calculating sum...');
return a + b;
};
const memoizedAdd = memoize(add);
console.log(memoizedAdd(1, 2)); // Output: Calculating sum... | 3
console.log(memoizedAdd(1, 2)); // Output: 3 (cached)