函数式编程里面的基本工具函数实现
343 Views in 笔记本 with 0 comment 喜欢 0

函数式编程里面的基本工具函数实现

in 笔记本 with 0 comment

compose 实现

function compose(...args) {
  return (result) => {
    return args.reduceRight((result, fn) => {
      return fn(result)
    }, result)
  }
}

pipe 实现

function compose(...args) {
  return (result) => {
    return args.reduce((result, fn) => {
      return fn(result)
    }, result)
  }
}

柯里化实现

function currying(fn, ...args) {
    if (args.length >= fn.length) {
        return fn(...args)
    }
    return function (...args2) {
        return currying(fn, ...args, ...args2)
    }
}

部分应用实现

function partial(fn, ...args) {
    return (..._arg) => {
        return fn(...args, ..._arg);
    }
}
请为这篇文章评分:
( 已有 1 人评分, 平均得分: 10 分 )
Responses