题目:
实现一个函数功能:
sum(1,2,3,4…n)转化为 sum(1)(2)(3)(4)…(n)
代码实现:
function curry(fn, ...args) {
return (...arr) => {
let result = [...args, ...arr]
if (result.length === fn.length) {
return fn(...result)
} else {
return curry(fn, ...result)
}
}
}
let currySum = curry(sum)
currySum(1)(2)(3);
sum(1,2,3);