_.memoize(func, [resolver])
Creates a function that memoizes the result of func
. If resolver
is provided, it determines the cache key for storing the result based on the arguments provided to the memoized function. By default, the first argument provided to the memoized function is used as the map cache key. The func
is invoked with the this
binding of the memoized function.Note: The cache is exposed as the cache
property on the memoized function. Its creation may be customized by replacing the _.memoize.Cache
constructor with one whose instances implement the Map
method interface of clear
, delete
, get
, has
, and set
.
Since
0.1.0
Arguments
func
(Function): The function to have its output memoized.[resolver]
(Function): The function to resolve the cache key.
Returns
(Function): Returns the new memoized function.
Example
var object = { 'a': 1, 'b': 2 };var other = { 'c': 3, 'd': 4 };var values = _.memoize(_.values);values(object);// => [1, 2]values(other);// => [3, 4]object.a = 2;values(object);// => [1, 2]// Modify the result cache.values.cache.set(object, ['a', 'b']);values(object);// => ['a', 'b']// Replace `_.memoize.Cache`._.memoize.Cache = WeakMap;
当前内容版权归 lodash.com 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 lodash.com .