Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function memoize(fn) {
- var cache = {};
- return function(arg) {
- var query = JSON.stringify(arg);
- if (!cache[query]) {
- cache[query] = fn(arg);
- }
- return cache[query];
- }
- }
- // example. factorial
- function factorial(n) {
- if (n < 2) {
- return n;
- }
- return n * factorial(n - 1);
- }
- factorial(20);
- console.time('not memoized');
- factorial(20);
- console.timeEnd('not memoized');
- var factorialMemoized = memoize(factorial);
- factorialMemoized(20);
- console.time('memoized');
- factorialMemoized(20);
- console.timeEnd('memoized');
Add Comment
Please, Sign In to add comment