Advertisement

JS实现curry(柯里化)的方法有几种常用方法

阅读量:
复制代码
    // 方法1
    function curry (fn, args) {
      const length = fn.length
      const args = args || []
      return function () {
    const _args = Array.prototype.slice.call(arguments)
    Array.prototype.push.apply(args, _args);
    if (args.length >= length) {
      return fn.apply(null, args)
    } else {
      return curry.call(null, fn, args)
    }
      }
    }
    
    // 方法2
    function curry2 (fn) {
      const length = fn.length
      return function inner (...args) {
    if (args.length >= length) {
      return fn.apply(null, args)
    } else {
      return function (...args

全部评论 (0)

还没有任何评论哟~