Lodash memoize – 如何删除具有复杂键的缓存条目?

Posted

技术标签:

【中文标题】Lodash memoize – 如何删除具有复杂键的缓存条目?【英文标题】:Lodash memoize – How do i delete a cache entry that has a complex key? 【发布时间】:2021-12-24 18:31:54 【问题描述】:

我有一个 lodash memoized 函数,它使用解析器函数生成密钥...

  const serializeArgs = (animal, eatsGrass) => animal + (eatsGrass? "#eatsGrass" : "") 
  const myMemoizedFunction = _.memoize( myFunction, serializeArgs )

文档似乎没有说明我如何为此删除缓存条目。我猜是……

  myMemoizedFunction.cache.delete(serializeArgs("horse", true))

【问题讨论】:

【参考方案1】:

做了一些测试,是的你就是这样做的。 Cache.delete() 似乎将单个字符串作为参数。

【讨论】:

以上是关于Lodash memoize – 如何删除具有复杂键的缓存条目?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Lodash memoize 的“Javascript 堆内存不足”

如何使用 lodash 从复杂的对象数组中获取值?

如何使用 lodash 从列表中删除元素?

如何使用lodash从列表中删除元素?

如何编写通用的 memoize 函数?

如何过滤复杂对象的列表,以便如果两个具有字段值,我会根据条件删除一个