Files
30-seconds-of-code/test/memoize/memoize.js
2018-02-04 17:38:39 +02:00

9 lines
243 B
JavaScript

const memoize = fn => {
const cache = new Map();
const cached = function(val) {
return cache.has(val) ? cache.get(val) : cache.set(val, fn.call(this, val)) && cache.get(val);
};
cached.cache = cache;
return cached;
};
module.exports = memoize;