zoukankan      html  css  js  c++  java
  • 什么是 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)))
    }
    
  • 相关阅读:
    tcpdump命令
    浅谈  curl命令
    MongoDB下rs.status()命令
    Device mapper存储方式
    top命令
    cat命令汇总整理
    centos7搭建nginx日志
    CentOS7 防火墙(firewall)的操作命令(转)
    服务器的硬件组成
    shell随机生成10个文件
  • 原文地址:https://www.cnblogs.com/wangyong1997/p/13884700.html
Copyright © 2011-2022 走看看