当前位置:网站首页>什么是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</
边栏推荐
- .NET6之MiniAPI(十四):跨域CORS(上)
- 东西向和南北向通信的统一
- Nine ways to teach you to read the file path in the resources directory
- CAS:1260586-88-6_生物素-C5-叠氮_Biotin-C5-Azide
- Kubernetes入门到精通-Operator 模式
- 互联网用户账号信息管理规定今起施行:必须严打账号买卖灰产
- Research status of target detection at home and abroad
- 113. 授人以渔 - 如何自行查询任意 SAP UI5 控件属性的文档和技术实现细节
- 如何基于WPF写一款数据库文档管理工具(二)
- CAS:1620523-64-9_Azide-SS-biotin_生物素-二硫-叠氮
猜你喜欢
[N1CTF 2018]eating_cms
CAS:122567-66-2_DSPE-Biotin_DSPE-Biotin
IO thread process -> thread synchronization mutual exclusion mechanism -> day6
CAS:908007-17-0_Biotin-azide_Biotin azide
Cisco ike2 IPSec配置
Adobe是什么?
Cisco ike2 IPSec configuration
深度学习和机器学习有什么区别?
CAS:1260586-88-6_生物素-C5-叠氮_Biotin-C5-Azide
【bug】汇总Elipse项目中代码中文乱码解决方法!
随机推荐
2022的七夕,奉上7个精美的表白代码,同时教大家快速改源码自用
UVa 10003 - Cutting Sticks (White Book, Interval DP)
电商秒杀系统
云计算国内外发展现状
优化查询(工作中)
2022-08-02 mysql/stonedb slow SQL-Q18 - memory usage surge analysis
CAS:1620523-64-9_Azide-SS-biotin_生物素-二硫-叠氮
UVa 1025 - A Spy in the Metro(白书)
376. Wiggle Subsequence
Diazo Biotin-PEG3-DBCO | Diazo Compound Modified Biotin-Tripolyethylene Glycol-Dibenzocyclooctyne
Data_web(九)mongodb增量同步到mongodb
CAS: 1192802-98-4 _uv cracking of biotin - PEG2 - azide
【刷题篇】二叉树的右视图
466. Count The Repetitions
用于流动质押和收益生成的 Web3 基础设施
【云原生实用技巧】使用 skopeo 批量同步 helm chart 依赖镜像
Golang Chapter 2: Program Structure
node连接mysql数据库报错:Client does not support authentication protocol requested by server
CAS:1192802-98-4_UV 裂解的生物素-PEG2-叠氮
Embedded Systems: Clocks