• js函数组合


    一.概念

         函数组合顾名思义就是将两个或两个以上函数组合成一个新函数例如:

        

    const composeFunction=function(f1,f2){
       return function(args){
          return f1(f2(args))   
       }   
    }
    //f1,f2是都是函数,args是组合后生成的新函数的参数

    二.函数组合的作用

        我们在实际开发项目的时候,通常都会将函数设计得尽量职责单一,比如有以下三个功能

        比较单一得函数分别是lowerCase(变成小写),upperCase(变成大写),trim(去除空格),split(转换成数组)

    function lowerCase(input) {
    return input && typeof input === "string" ? input.toLowerCase() : input;
    }

    function upperCase(input) {
    return input && typeof input === "string" ? input.toUpperCase() : input;
    }

    function trim(input) {
    return typeof input === "string" ? input.trim() : input;
    }

    function split(input, delimiter = ",") {
    return typeof input === "string" ? input.split(delimiter) : input;
    }

    // compose函数的实现,请参考 “组合函数的实现” 部分。
    const trimLowerCaseAndSplit = compose(trim, lowerCase, split);
    trimLowerCaseAndSplit(" a,B,C "); // ["a", "b", "c"]

    三.函数组合的实现

    function compose(...funcs) {
      return function (x) {
        return funcs.reduce(function (arg, fn) {
          return fn(arg);
        }, x);
      };
    }
  • 相关阅读:
    UVa 11538 Chess Queen (排列组合计数)
    CodeForces 730H Delete Them (暴力)
    CodeForces 730G Car Repair Shop (暴力)
    汇编(assembling)简介(源:阮一峰)
    CSS骚操作
    Jquery复习总结
    CGI与ISAPI的区别(转)
    SQL中Group By的使用(转)
    05 ADO.net
    04 SqlServer
  • 原文地址:https://www.cnblogs.com/myspecialzone/p/13949976.html
Copyright © 2020-2023  润新知