• reduce()


    https://www.jianshu.com/p/e375ba1cfc47

    1. 语法:arr.reduce(callback,[initialValue])

    reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。

    callback (执行数组中每个值的函数,包含四个参数)
    
        1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
        2、currentValue (数组中当前被处理的元素)
        3、index (当前元素在数组中的索引)
        4、array (调用 reduce 的数组)
    
    initialValue (作为第一次调用 callback 的第一个参数。)

    2. 例
    eg:
    var arr = [1,2,3,4];
    var sum = arr.reduce(function(prev,cur,index,arr){
    console.log(prev,cur,index);
    return prev + cur;
    })
    console.log(arr,sum)
    
    // 打印结果:
    // 1 2 1
    // 3 3 2
    // 6 4 3
    // [1, 2, 3, 4, 5] 15
     
     
    var arr = [1,2,3,4];
    var sum = arr.reduce(function(prev,cur,index,arr){
    console.log(prev,cur,index);
    return prev + cur;
    },0)//注意这里设置了初始值
    console.log(arr,sum)
    // 打印结果:
    // 0 1 0
    // 1 2 1
    // 3 3 2
    // 6 4 3
    // [1, 2, 3, 4] 10
     

    3.简单用法

    var  arr = [1,2,3,4]
    
    var  sum =  arr.reduce((x,y) => x+y)
    
    var  mul =  arr.reduce((x,y) => x*y)

    4.高级用法

    计算数组中每个元素出现的次数

  • 相关阅读:
    MicXP程序爱好者
    cnblogs上的mysql学习心得
    iwebship 购物系统 PHP lamp环境
    可以购买的网址
    模板网址
    学习ecshop 教程网址
    ecshop数据库操作函数
    yzoj1568: 数字组合 题解
    yzoj1891 最优配对问题 题解
    yzoj1985 最长公共单调上升子序列 题解
  • 原文地址:https://www.cnblogs.com/namehou/p/10437259.html
Copyright © 2020-2023  润新知