zoukankan      html  css  js  c++  java
  • mark js reduce用法

    arr.reduce(function(prev,cur,index,arr){
    ...
    }, init);

    //arr 表示原数组;
    //prev 表示上一次调用回调时的返回值,或者初始值 init;
    //cur 表示当前正在处理的数组元素;
    //index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;
    //init 表示初始值。
     

    reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

    reduce() 可以作为一个高阶函数,用于函数的 compose。

    注意: reduce() 对于空数组是不会执行回调函数的。

    拓展:

    1 去 重
    const newArr = arr.reduce(function (prev, cur) { prev.indexOf(cur) === -1 && prev.push(cur); return prev; },[]);
    2 最值
    const max = arr.reduce(function (prev, cur) { return Math.max(prev,cur); });
    3 求和
    const sum = arr.reduce(function (prev, cur) { return prev + cur; },0);

      

  • 相关阅读:
    [WC2010]重建计划
    [POJ1741]Tree
    [NOI2008]志愿者招募
    [BZOJ2127]happiness
    「网络流 24 题」太空飞行计划
    [TJOI2015]线性代数
    [HDU2874]Connections between cities
    [POI2007]ZAP-Queries
    [SCOI2010]幸运数字
    POJ 2826 An Easy Problem?!
  • 原文地址:https://www.cnblogs.com/lisiyang/p/12512247.html
Copyright © 2011-2022 走看看