javascript - _.memoize适用场景是什么?

标签 javascript

我正在学习underscorejs _.memoize方法,我想知道他的适用场景。 晕眩的!晕眩的!不明白API在说什么。

var fibonacci = _.memoize(function(n) {
    return n < 2 ? n: fibonacci(n - 1) + fibonacci(n - 2);
});

最佳答案

Memoization创建一个记住其结果的函数,这样就不必再次计算它们。

例如,计算 fibonacci(5) 时:

  • 斐波那契(5) = 斐波那契(4) + 斐波那契(3)
  • 斐波那契(4) = 斐波那契(3) + 斐波那契(2)

等等。您可以看到 fibonacci(3) 使用了两次,但每次都会得到相同的结果,因此无需计算两次。相反,内存斐波那契函数仅在第一次计算并存储结果;此后每当使用 fibonacci(3) 时,它都会立即返回存储的结果。

另请参阅What is memoization good for and is it really all that helpful? .

关于javascript - _.memoize适用场景是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34691190/

相关文章:

javascript - 与错误 Prop 一起使用时,Formik 字段会失去焦点

javascript - Nodejs后台运行函数

javascript - 在 React.js 中计算选中的复选框

javascript - 我无法在 angularjs 中加载脚本组件

JavaScript - 必须点击两次自定义 Google 登录

javascript - 我调用的图像没有显示

javascript - 在 Javascript 对象中查找键并获取每个键的值

javascript - 如何让UI线程持续运行

javascript - 在 vuejs 中保护子路由

javascript - 加载页面时如何自动选择输入字段?