memoization

v1.0.2
Straightforward implementation of memoization.
function optimisation optimization recursive table lookup caching cache memoization and 2 more...

Build Status

memoization

Straightforward implementation of memoization in javascript

Exemple Usage

var memoize = require("memoization");
var fib = memoize(function(n){return n<2 ? n : fib(n-1) + fib(n-2);});

Code

function memoize(f) {
  var dict = {};
  return function() {
    var args = JSON.stringify(arguments);
    if(dict.hasOwnProperty(args)) return dict[args];
    var res = f.apply(this, arguments);
    dict[args] = res;
    return res;
  }
}

if (typeof module === "object") module.exports = memoize;
npm i memoization

Metadata

  • BSD
  • Whatever
  • lovasoa
  • released 11/2/2016

Downloads

Maintainers