为什么打印不出来数值 柯里化的终极解决方案 原函数 function sumabcd return a+b+c+d; 柯里化工具函数 function currycbarr= return functionargs arrs = arrargs; ifarrlengthcblength
这段代码输出结果为:undefined。原因是在柯里化工具函数中,当递归到最后一次调用时,虽然已经得到了正确的计算结果,但没有进行任何输出或返回操作,因此最终结果为undefined。如果想要在控制台打印出计算结果,可以在最后一次调用时加上console.log()语句,例如:
function curry(cb,arr=[]){ return function(...args){ arrs = [...arr,...args]; if(arr.length<cb.length){ return curry.call(this,cb,arrs) }else{ console.log(cb(...arrs)); return cb(...arrs); } }
}
原文地址: https://www.cveoy.top/t/topic/8Qr 著作权归作者所有。请勿转载和采集!