memoize-addition
by upigilam
JavaScript
function mem2(fun) {
var cache = [];
return function(...args) {
var idx = args.toString();
if (!cache[idx]) {
cache[idx] = fun(...args);
console.log('caching :: ', cache[idx]);
}
console.log('already cached :: ', cache[idx]);
return cache[idx];
};
}
function add(n, o) {
return (n+o);
}
var mem_add = mem2(add);
console.log('add:: ',add(1,2));
console.log('mem add:: ',mem_add(1,2));
/* console.log('mem add:: ',mem_add(2,3)); */