當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Lodash _.memoize()用法及代碼示例

_.memoize()方法用於通過緩存函數計算的結果來存儲給定的函數。如果發出了解析器,則根據提供給備注方法的參數確定用於存儲結果的緩存鍵。默認情況下,提供給備注函數的第一個參數用作Map緩存鍵。

用法:

_.memoize(func, [resolver])

參數:此方法接受上麵提到和下麵描述的兩個參數:

  • func:此參數保存要 memory 其輸出的函數。
  • resolver:它是解析緩存鍵的函數。

返回值:此方法返回新的 memory 函數。

注意:在這裏,const _ = require(‘lodash’)用於將lodash庫導入文件中。



範例1:

Javascript

// Requiring the lodash library   
const _ = require("lodash");   
  
// Use of _.memoize() method   
var sum = _.memoize(function (n) {  
    return n < 1 ? n:n + sum(n - 1);  
});  
  
// Sum of first 6 natural number   
console.log(sum(6));

輸出:

21

範例2:

Javascript

// Requiring the lodash library   
const _ = require("lodash");   
  
var object = { 'cpp':5, 'java':8 }; 
  
// Use of _.memoize() method   
var values = _.memoize(_.values); 
  
// value of object  
console.log(values(object));  
  
// Modify the result cache. 
values.cache.set(object, ['html', 'css']); 
console.log(values(object));

輸出:

[5, 8]
['html', 'css']

注意:在正常的JavaScript中這將無法正常工作,因為它需要安裝庫lodash。

相關用法


注:本文由純淨天空篩選整理自sanjoy_62大神的英文原創作品 Lodash _.memoize() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。