当前位置:网站首页>js函数聚合的三种实现方式
js函数聚合的三种实现方式
2022-08-10 07:49:00 【Ares-Wang】
// 第一种:闭包存储,遍历执行
function compose1 (arr) {
return (param) => {
for (let fn of arr) {
param = fn(param);
}
return param;
}
}
// 第二种:递归嵌套,依次执行
function compose2 (arr) {
return arr.length <= 1 ? arr[0] : (...args) => compose2(arr.slice(1))(arr[0](...args))
}
// 第三种:累加嵌套,依次执行,跟第二种相似
const compose3 = (arr) => arr.reduce((res, cur) => (...args) => cur(res(...args)));
function a (p) {
return p + 1;
}
function b (p) {
return p + 6;
}
function c (p) {
return p * 2;
}
// 第四种:注意与第三章的区别
const compose4 = (arr) => arr.reduce((res, cur) => (...args) => res(cur(...args)));
const fn = compose4([a, b,c,d])
console.log(fn(1))
边栏推荐
- 2022-08-01 网工进阶(二十三) VLAN高级技术-VLAN聚合、MUX VLAN
- Relaxation class: the boss will martial arts, who also can not hold up against!The charm of six sigma training
- 【NeRF】原始论文解读
- 自动化测试框架搭建 ---- 标记性能较差用例
- 【Rust指南】使用Cargo工具高效创建Rust项目 | 理解Rust特别的输入输出语句
- Rust学习:6.4_复合类型之枚举
- Rust learning: 6.1_Slices of composite types
- 搭建 risc-v 编译环境
- 【MySQL】SQL语句
- ATH10 sensor reads temperature and humidity
猜你喜欢
iwemeta元宇宙:一个娃娃卖9999元,泡泡玛特认为一点也不贵
自动化测试框架搭建 ---- 标记性能较差用例
VS2013-debug assembly code-generate asm file-structure memory layout-function parameter stack-calling convention
Based on STC8G2K64S4 single-chip microcomputer to display analog photosensitive analog value through OLED screen
协同工具满足70%-90%的工作需求,成为企业香饽饽
二叉树 --- 堆
深入理解LTE网络的CDRX
Relaxation class: the boss will martial arts, who also can not hold up against!The charm of six sigma training
IDLE开发wordCount程序(第五弹)
机器人控制器编程实践指导书旧版-实践一 LED灯(数字量)
随机推荐
The probability distribution and its application
NPU架构与算力分析
3.1-3.3 读书笔记
Uni-app develops WeChat applet using local images as background images
自动化测试框架搭建 ---- 标记性能较差用例
什么是长轮询
每日一题,数组字符串的匹配问题
复杂AB实验
placeholder 1
initramfs与initrd的区别
WooCommerce 安装和 rest api 使用
IDLE development wordCount program (5)
mysql数据库月增长量问题
foreach遍历删除元素问题总结
raid5的写性能,是不的比raid10快一些?
Introduction to C integer data storage
uni 小程序腾讯地图polygon背景透明度
浅谈C语言实现冒泡排序
PHP笔记 28 29 30 31
Power function Exponential function Logarithmic function