From 0d1c7a14144749fb9d45fd0fdf243d8f21603d9b Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Fri, 2 Jan 2015 13:18:01 -0600 Subject: [PATCH] Add `_.memoize.Cache` doc example. [ci skip] --- lodash.js | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/lodash.js b/lodash.js index 124039ac9..e96eced21 100644 --- a/lodash.js +++ b/lodash.js @@ -7263,14 +7263,6 @@ * @returns {Function} Returns the new memoizing function. * @example * - * var fibonacci = _.memoize(function(n) { - * return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); - * }); - * - * fibonacci(9) - * // => 34 - * - * // modifying the result cache * var upperCase = _.memoize(function(string) { * return string.toUpperCase(); * }); @@ -7278,9 +7270,28 @@ * upperCase('fred'); * // => 'FRED' * + * // modifying the result cache * upperCase.cache.set('fred, 'BARNEY'); * upperCase('fred'); * // => 'BARNEY' + * + * // replacing `_.memoize.Cache` + * var object = { 'user': 'fred' }; + * var other = { 'user': 'barney' }; + * var identity = _.memoize(_.identity); + * + * identity(object); + * // => { 'user': 'fred' } + * identity(other); + * // => { 'user': 'fred' } + * + * _.memoize.Cache = WeakMap; + * var identity = _.memoize(_.identity); + * + * identity(object); + * // => { 'user': 'fred' } + * identity(other); + * // => { 'user': 'barney' } */ function memoize(func, resolver) { if (!isFunction(func) || (resolver && !isFunction(resolver))) {