美文网首页
compose 函数

compose 函数

作者: 候鸟_ywh | 来源:发表于2020-04-02 10:40 被阅读0次

    两个函数的组合

    const compose = (a , b) => c => a( b( c ) );
    

    栗子:统计单词个数

    分两步:
    1、获取空格
    2、获取长度

    const splitIntoSpaces = str => str.split(' ');
    const len = arr => arr.length;
    const word = compose(len , splint); // 注意顺序
     word('saf dfadsf dfadf adfasdf');  //  输出4
    

    强调注意顺序,不知道为什么的可以分别打印splitIntoSpaces 的str和len的arr就知道了

    多个函数的组合

    const reduce = (arr: Array<any>, fn, value) => {
      arr.map(r => (value= fn(value, r)));
      return value;
    };
    
    const composeN = (...fns) => value =>reduce(fns.reverse(), (acc, fn) => fn(acc), value);
    
    const splint = str => str.split(' ');
    const len = arr => arr.length;
    const word = composeN(len, splint);   //   注意顺序
    const d = word('saf dfadsf dfadf adfasdf');   // 4
    
    

    相关文章

      网友评论

          本文标题:compose 函数

          本文链接:https://www.haomeiwen.com/subject/nditphtx.html