已知参数个数的函数,如何实现柯里化?
来源:互联网 发布:splice js参数 编辑:程序博客网 时间:2024/05/21 23:34
创建一个函数,使得输入的函数能具有柯里化的功能。
function curry(fn){var len=fn.length;var arg=Array.prototype.slice.call(arguments,1);return function(){var args=arg.concat(Array.prototype.slice.call(arguments));if(args.length<len){return curry.call(null,fn,...args);}else{console.log(args);return fn.apply(null,args);}}}
下面是使用方法:
curry(add,4)(4,5)(6)//输出19
原理:
1、判断输入函数有几个参数。(这里假定有4个参数)
2、检验有没有收集齐4个参数,没有收集齐,递归调用,重新收集,收集齐了,就利用apply方法,传参数。
这个理解起来会有点难,建议使用谷歌浏览器的断点调试来看一下具体的过程~~
阅读全文
0 0
- 已知参数个数的函数,如何实现柯里化?
- 如何实现参数个数可变的函数
- 如何实现参数个数不定的函数?
- 如何实现参数个数可变的函数
- 未知参数个数的函数,如何实现柯里化?
- C#如何实现不定参数个数的函数
- 详解如何实现定义一个参数个数可变的函数
- 如何定义变长参数个数的函数
- 不确定参数个数的函数的实现
- 不确定参数个数的函数的实现
- [转]C++如何编写参数个数不确定的函数?
- VC如何写参数个数不定的函数…
- C 不确定参数个数的函数的实现
- 用C语言实现参数个数可变的函数
- 用C语言实现参数个数可变的函数
- C语言实现参数个数可变的函数(转)
- C语言中实现参数个数可变的函数
- 用C语言实现参数个数可变的函数
- IO流(四)扩展
- 机器学习方法篇(16)------朴素贝叶斯分类
- 推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "strtof" referenced by "libsupp
- 接口测试总结
- 已知参数个数的函数,如何实现柯里化?
- lamp环境下php链接数据库出错之一直加载空白页解决方案
- 《计算机是怎样跑起来的》 矢泽久雄------附Z80微型计算机电路图
- kettle7.1 执行job或trans时出现的错误“Invalid byte 2 of 2-byte UTF-8 sequence
- Qualcomm 2x2 11ac Wi-Fi技术带来顶级Wi-Fi体验
- 携手GAIR大会,思必驰DUI开放平台即将全面亮相!
- 系统管理员须知,抵御Petya你行的!
- 独家专访 | 稀土掘金90后创始人阴明:最新融资2000万、估值1.3亿背后的技术社区
- 深度 | 硅谷是如何推动编程教育的?