返回 memoized(缓存的)函数 memoize – JavaScript 实用代码片段

返回 memoized(缓存的)函数。

使用 Object.create(null) 创建一个没有 Object.prototype 的空对象(这样如果输入值类似 'hasOwnProperty',那么这些属性就不会被解析)。
通过首先检查该特定输入值的函数输出是否已经被缓存,如果没有,则返回一个函数,该函数将作为单个参数提供给 memoized 函数。

const memoize = fn => {
  const cache = Object.create(null);
  return value => cache[value] || (cache[value] = fn(value));
};
// See the `anagrams` snippet.
const anagramsCached = memoize(anagrams);
anagramsCached('javascript'); // takes a long time
anagramsCached('javascript'); // returns virtually instantly since it's now cached

更多代码 JavaScript 实用代码片段 请查看 https://www.css88.com/30-seconds-of-code/

赞(0) 打赏
未经允许不得转载:WEB前端开发 » 返回 memoized(缓存的)函数 memoize – JavaScript 实用代码片段

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏