Ai
1 Star 0 Fork 0

gitkoala/array-test

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
curry.html 1.41 KB
一键复制 编辑 原始数据 按行查看 历史
gitkoala 提交于 2022-10-13 14:08 +08:00 . demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//柯里化思想
//请实现以下效果
function add (a,b,c,d) {
return a + b + c+d
}
// console.log(add.length);
// const res = add(1, 2, 3) //6
//要求声明一个curry函数,函数add经过curry函数的处理后,每次调用只能接收一个参数
//方法一
const curry = (fn, ...x) => {
return (...y) => {
x.push(...y)
if (x.length < fn.length) return curry(fn, ...x);
return fn(...x);
}
}
//方法二
const curry1 = (callback) => {
let num = callback.length;
let res = 0;
return function fn(a) {
res += a;
if (num === 1) {
return res
};
num--;
return fn;
}
}
// const newCurry = curry(add)
// console.log(newCurry(1)(2)(3)(4));
let addCurry = curry(add)
// console.log(addCurry(1));
const res2 = addCurry(1)(2)(3)(4) //6
console.log(res2);
</script>
</body>
</html>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/gitkoala/array-test.git
git@gitee.com:gitkoala/array-test.git
gitkoala
array-test
array-test
master

搜索帮助