以下为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,继续等待后续参数的传入。