教程 lodash tutorial

_.memoize(func, [resolver])

_.memoize(func, [resolver]) 创建一个记忆化函数,该函数会缓存 func 的结果,提高函数的性能。

  • func:要记忆化的函数。
  • resolver(可选):用于计算缓存键的自定义解析器函数。

示例:

javascript
// 定义一个简单的函数
function fibonacci(n) {
  if (n <= 1) {
    return n;
  }
  return fibonacci(n - 1) + fibonacci(n - 2);
}

// 创建一个记忆化的斐波那契函数
const memoizedFibonacci = _.memoize(fibonacci);

// 第一次调用时会计算结果并缓存
console.log(memoizedFibonacci(5)); // 输出:5

// 第二次调用时直接从缓存中获取结果
console.log(memoizedFibonacci(5)); // 输出:5

在这个例子中,memoizedFibonacci 函数会缓存 fibonacci 函数的结果,提高了对相同输入的函数调用的性能。