• 什么是 reduce,什么是聚合函数


    什么是 reduce

    reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值

    const array1 = [1, 2, 3, 4];
    const reducer = (accumulator, currentValue) => accumulator + currentValue;
    // 1 + 2 + 3 + 4
    console.log(array1.reduce(reducer));
    // expected output: 10
    
    // 5 + 1 + 2 + 3 + 4
    console.log(array1.reduce(reducer, 5));
    // expected output: 15
    

    什么是聚合函数

    如下函数,聚合成一个函数,并把第一个函数的返回值传递给下一个函数。

    function f1(arg) {
     console.log("f1", arg);
     return arg; 
    }
    function f2(arg) {
     console.log("f2", arg);
     return arg;
    }
    function f3(arg) {
     console.log("f3", arg);
     return arg;
    }
    // 方法1:
    let res = f1(f2(f3('name')))
    console.log('res', res)
    // 结果:
    // f3 name
    // f2 name
    // f1 name
    // res name
    // 方法2:
    let res = compose(f1, f2, f3)('name')
    console.log('res', res)
    // 结果:
    // f3 name
    // f2 name
    // f1 name
    // res name
    function compose(...funcs) {
      // 处理如果没有传递参数
      if(funcs.length === 0) return arg =>  arg
      return funcs.reduce((a, b) => (...args) => a(b(...args)))
    }
    
  • 相关阅读:
    单元测试练习
    对软件的看法
    个人最终总结
    论文笔记--Fast RCNN
    个人最终总结2
    结对编程--基于android平台的黄金点游戏(2.0版本)
    结对编程--基于android平台的黄金点游戏
    团队作业(一)
    [java]wordcount程序
    第三周作业(二)
  • 原文地址:https://www.cnblogs.com/wangyong1997/p/13884700.html
Copyright © 2020-2023  润新知