实现add(1)(2)(3)
与柯里化定义类似:函数柯里化的实现_前端-pww的博客-CSDN博客
判断下一个括号中是否有参数,如果有就拼接参数,继续调用curry函数
如果没有参数,则直接返回fn
function add1 (...args) {//求和return args.reduce((a, b) => a + b)
}
function currying (fn,...args) {return function(...rest) {if (rest.length) {return currying(fn,...args,...rest)} else {return fn.call(this,...args)}}
}
let add = currying(add1)
console.log(add(1)(2)(3)(4, 5)()) //15
console.log(add(1)(2)(3, 4, 5)()) //15
console.log(add(1)(2, 3, 4, 5)()) //15
实现add(1)(2)(3)相关推荐
- Java Calendar.add()方法的使用,参数含义。指定时间差。
cal.add()方法中的参数含义: 第一个参数如果是1则代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作. 第 ...
- Docker 入门系列(7)- Dockerfile 使用(FROM、RUN、CMD、EXPOSE、ENV、ADD、COPY、ENTRYPOINT、VOLUME、WORKDIR)
Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 来快速创建自定义的镜像. 1. 基本结构 Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行. ...
- git add . 之后 想执行回滚操作(git add 到本地仓库的代码回滚到没有add 之前的操作)
git add 到本地仓库的代码回滚到没有add 之前的操作 ,如果git 非常熟悉临时忘记了命令 回滚单个文件的命令:git restore --staged xx文件名 回滚所有add 的文件直 ...
- Multiple substitutions specified in non-positional format; did you mean to add the formatted=”false”
make 编译android代码的出现这样的错误 这个问题可能是跟android 的版本有关系就是xml 中的String.xml文件的文字使用%s 无法识别引起的, 不过有些版本可以识别 下面的就有 ...
- Kotlin 使用list.add 时候报错的处理方法
在Kotlin 中 使用list.add 方法的时候出现报错例如下面的现象 这个时候处理的方法就是把List 更换为MutableList 这样就不会报错了 下面是处理之后的.
- Can't add more than 2 views to a ViewSwitcher
最近使用到 TextSwitcher 来实现文字上下轮播的效果,出现了 Can't add more than 2 views to a ViewSwitcher 看了下源码 /*** {@inhe ...
- List 数据add进去的是一个bean 的时候删除数据的方法
这个时候要删除数据,也是用到add 进 list 里面的bean 然后使用for 循环对应里面的数据的方法 例如: selectList.remove(findSeatInfoBean(xx, xx) ...
- PyTorch 笔记(05)— Tensor 基本运算(torch.abs、torch.add、torch.clamp、torch.div、torch.mul、torch.pow等)
1. 函数汇总 Tensor 的基本运算会对 tensor 的每一个元素进行操作,此类操作的输入与输出形状一致,常用操作见下表所示. 对于很多操作,例如 div.mul.pow.fmod.等, PyT ...
- [WARNING] unable to add QUERY_STRING=XXXX to uwsgi packet, consider increasing buffer size
1. 问题现象 在用 flask uwsgi api 报文发送 GET 请求时,请求参数的 value 值 "XXX" 太长时,会报下面的错误. [WARNING] unable ...
- LeetCode刷题记录4——67. Add Binary(easy)
LeetCode刷题记录4--67. Add Binary(easy) 目录 LeetCode刷题记录4--67. Add Binary(easy) 题目 语言 思路 后记 题目 今天这题是与字符串相 ...
最新文章
- POJ 2528 Mayor's posters(线段树)
- linux mysql设置开机启动脚本_linux下添加oracle自启动脚本
- pil获得图片_OpenCV读取图片与PIL读取图片的差别
- windows7使用vhd虚拟磁盘
- 记-python socket服务器端四部曲
- 养成这6个编程好习惯,助你减少90%BUG
- 简单看看 Go 1.17 的新版调用规约
- payara 创建 集群_高可用性(HA),会话复制,多VM Payara群集
- Nanachi发布:基于 React 的多端小程序转译框架
- 举牌人表情包使用nodejs实现
- 基于linux在线预览
- GDK获得各种scale factor
- 战旗助手服务器代码,炉石传说酒馆战旗助手
- Excel进行灵敏度分析
- 如何在线制作ico图标,自己动手丰衣足食
- Weighted Quick Union
- 为什么计算机起始时间、为什么Java时间戳、是1970年1月1日?
- mysql1598_mysql中主从复制中出现ERROR 1598 (HY000)错误
- C#网络TCP客户端的实现
- luogu P3647 [APIO2014] 连珠线
热门文章
- html图片加滚动文字,滚动文字、图片等html代码
- linux内核killler,Linux内核参数overcommit_memory和OOM killer介绍
- Apache Commons DbUtils 入门
- Java虚拟机的什么周期
- HttpURLConnection_Get和Post请求文件上传
- 4位先行进位电路 logisim_数字电路基础之逻辑电路
- Spring Boot+Mysql实现的电影在线资讯系统
- 基于JAVA+SpringMVC+Mybatis+MYSQL的考勤管理系统
- 基于JAVA+Servlet+JSP+MYSQL的超市管理系统
- 利用.NET绘图技术制作水晶按钮控件(转)