以下为ChatGPT自动生成的解答,正确与否请自行判断。
BFE.devAI解答 - JavaScript 代码题
1. 实现curry()
实现curry()的代码如下:
const curry = (fn) => {
return function curried(...args) {
if (args.length >= fn.length) {
return fn.apply(this, args);
} else {
return function (...newArgs) {
return curried.apply(this, args.concat(newArgs));
};
}
};
};
该函数使用了递归调用,当传入的参数个数大于或等于原函数的参数个数时,直接调用原函数并返回结果;否则,返回一个新的function,继续等待后续参数的传入。