_.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。
相關用法
- Underscore.js _.memoize()用法及代碼示例
- Lodash _.method()用法及代碼示例
- Lodash _.sneq()用法及代碼示例
- Lodash _.toQuery()用法及代碼示例
- Lodash _.uniqWith()用法及代碼示例
- Lodash _.xorWith()用法及代碼示例
- Lodash _.head()用法及代碼示例
- Lodash _.remove()用法及代碼示例
- Lodash _.pullAt()用法及代碼示例
- Lodash _.pullAll()用法及代碼示例
- Lodash _.pull()用法及代碼示例
- Lodash _.nth()用法及代碼示例
- Lodash _.takeRight()用法及代碼示例
- Lodash _.take()用法及代碼示例
- Lodash _.sortedLastIndex()用法及代碼示例
- Lodash _.fromPairs()用法及代碼示例
- Lodash _.differenceWith()用法及代碼示例
- Lodash _.castArray()用法及代碼示例
- Lodash _.cloneDeep()用法及代碼示例
- Lodash _.clone()用法及代碼示例
- Lodash _.sampleSize()用法及代碼示例
- Lodash _.find()用法及代碼示例
- Lodash _.zipWith()用法及代碼示例
- Lodash _.zipObject()用法及代碼示例
注:本文由純淨天空篩選整理自sanjoy_62大神的英文原創作品 Lodash _.memoize() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。