当前位置: 首页 > news >正文

前端小技巧: TS实现柯里化函数

实现 curry 函数,把其他函数柯里化

  • curry 返回一个函数fn
  • 执行fn, 中间状态返回函数,如 add(1), 或者 add(1)(2)
  • 最后返回执行结果,如 add(1)(2)(3)
function curry(fn:Function) {const fnArgsLen = fn.length // 传入函数的参数长度let args:any[] = []// ts中,独立的函数,this需要生命类型function calc(this:any, ...newArgs:any[]) {// 积累参数args = [...args,...newArgs,]if (args.length < fnArgsLen) {// 参数不够,返回函数return calc} else {// 参数够了,返回执行结果return fn.apply(this, args.slice(0, fnArgsLen))}}return calc
}function add(a: number, b: number, c: number):number {return a + b + c
}const curryAdd = curry(add)
const curryAdd = curry(add)curryADD(10)(10)(10)
http://www.lryc.cn/news/211298.html

相关文章:

  • 【算法-数组2】有序数组的平方 和 长度最小的子数组
  • H5游戏源码分享-接苹果游戏拼手速
  • 详解类生到死的来龙去脉
  • 寻找倒数第K个节点
  • [ROS系列]ubuntu 20.04 从零配置orbslam3(无坑版)
  • 网络协议--TCP的保活定时器
  • leetcode 1353. 最多可以参加的会议数目
  • hadoop权威指南第四版
  • LeetCode75——Day20
  • 搭建微信小程序环境及项目结构介绍
  • Python通过pyecharts对爬虫房地产数据进行数据可视化分析(一)
  • 关于测试组件junit切换testng的示例以及切换方式分享
  • nginx 内存管理(二)
  • 【DevChat】智能编程助手 - 使用评测
  • Geek challenge 2023 EzHttp
  • matlabR2021a正版免费使用
  • 天气数据可视化平台-计算机毕业设计vue
  • 揭秘Java switch语句中的case穿透现象
  • Java-API简析_java.io.FilterOutputStream类(基于 Latest JDK)(浅析源码)
  • C语言 每日一题 PTA 10.29 day7
  • 持续集成部署-k8s-服务发现-Ingress 路径匹配与虚拟主机匹配
  • selenium工作原理和反爬分析
  • windows电脑安装系统后固态硬盘和机械硬盘的盘符号顺序显示错乱,解决方法
  • 自定义控件的子控件布局(onLayout()方法)
  • vscode提取扩展出错xhr
  • Docker 笔记(上篇)
  • python自动化测试(六):唯品会商品搜索-练习
  • 深度强化学习用于博弈类游戏-基础测试与说明【1】
  • 通过requests库使用HTTP编写的爬虫程序
  • 550MW发电机变压器组继电保护的整定计算及仿真