当前位置:网站首页>什么是memoization,它有什么用?
什么是memoization,它有什么用?
2022-08-03 22:22:00 【紫微前端】
memoization是一个构建函数的过程,该函数能够记住它以前计算的结果或值。
制作记忆函数的用途是,如果该函数已在上次计算中使用相同的参数执行,我们将避免计算该函数。这节省了时间,但也有一个缺点,即我们将消耗更多的内存来保存以前的结果。
实现一个memoization helper函数。
function memoize(fn) {
const cache = {};
return function (param) {
if (cache[param]) {
console.log('cached');
return cache[param];
} else {
let result = fn(param);
cache[param] = result;
console.log(`not cached`);
return result;
}
}
}
const toUpper = (str ="")=> str.toUpperCase();
const toUpperMemoized = memoize(toUpper);
toUpperMemoized("abcdef");
toUpperMemoized("abcdef");这个memoize辅助函数仅适用于接受一个参数的函数。我们需要创建一个接受多个参数的memoize</
边栏推荐
猜你喜欢
随机推荐
21天打卡挑战学习MySQL——《MySQL工具的使用》第一周 第二篇
483. Smallest Good Base
LabVIEW代码生成错误 61056
[N1CTF 2018] eating_cms
【bug】汇总Elipse项目中代码中文乱码解决方法!
目标检测的国内外研究现状
win10系统下yolov5-V6.1版本的tensorrt部署细节教程及bug修改
CAS:153162-70-0_N-BOC-6-生物素酰氨基己胺
.NET6之MiniAPI(十四):跨域CORS(上)
L2-041 插松枝
【刷题篇】二叉树的右视图
2019年10月SQL注入的两倍
Diazo Biotin-PEG3-DBCO|重氮化合物修饰生物素-三聚乙二醇-二苯并环辛炔
navicat 连接 mongodb 报错[13][Unauthorized] command listDatabases requires authentication
UVa 10003 - Cutting Sticks(白书,区间DP)
Embedded Systems: Clocks
HCIP第十三天
决策树、GBDT、XGBOOST树的可视化
Embedded Systems: GPIO
472. Concatenated Words









![[MySQL Advanced] Creation and Management of Databases and Tables](/img/31/2015122e409148b3679b09a03db869.png)