Add _.memoize.Cache doc example. [ci skip]

This commit is contained in:
John-David Dalton
2015-01-02 13:18:01 -06:00
parent 7e8e7757f4
commit 0d1c7a1414

View File

@@ -7263,14 +7263,6 @@
* @returns {Function} Returns the new memoizing function. * @returns {Function} Returns the new memoizing function.
* @example * @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) { * var upperCase = _.memoize(function(string) {
* return string.toUpperCase(); * return string.toUpperCase();
* }); * });
@@ -7278,9 +7270,28 @@
* upperCase('fred'); * upperCase('fred');
* // => 'FRED' * // => 'FRED'
* *
* // modifying the result cache
* upperCase.cache.set('fred, 'BARNEY'); * upperCase.cache.set('fred, 'BARNEY');
* upperCase('fred'); * upperCase('fred');
* // => 'BARNEY' * // => '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) { function memoize(func, resolver) {
if (!isFunction(func) || (resolver && !isFunction(resolver))) { if (!isFunction(func) || (resolver && !isFunction(resolver))) {