<script>
//参数的加
const sumFn = (...args) => {
return args.reduce((a, b) => {
return a + b
})
}
//柯里化函数
const currying = (fnc) => {
const num = []
return function result(...rest) {
if (rest.length != 0) {
num.push(...rest)
return result
} else {
return fnc(...num)
}
}
}
let a = currying(sumFn)(1)(2)(3)()
let b = currying(sumFn)(1, 2)(3, 4)(5)()
let c = currying(sumFn)(1)(2, 3, 4)(5, 6)()
console.log(a, b, c) //6 15 21
</script>