reduce用法

reduce() 这个方法很牛逼 可以应用很多场景

简单介绍: reduce() 方法接收一个函数作为累加器, 数组中的每个值(从左至右) 开始缩减, 最终为一个值
其实 reduce 接收的就是一个 回调函数 , 去调用数组中的每一个项 , 直到数组结束

注意: 这里如果没有可选参数 initialValue 将会从 index= 1的值 开始计算 ,
就是这样排序的将数组的 索引值为 0 的数据项 ,作为计算中的 索引值为 1 ,本质没改变

数组名.reduce( callback, [initialValue] ); 下面是拆分后得
数组名.reduce ( function ( previousValue , currentValue , index , array ){
return 要什么返回什么
},initialValue(可选参数1) )

callback (执行数组中每个值得函数, 包含四个参数)
previousValue : 上一次的值 , 或者是提供的初始值(initialValue)
currentValue: 当前的值
index: 当前值的索引
array: 数组

initialValue: 可选参数, 作为第一次调用 caliback 的第一个参数

回调函数第一次执行时,previousValue 和 currentValue可能是两个不同值其中的一个,如果reduce有initialValue参数,

那么 previousValue 等于 initialValue ,并且currentValue 等于数组中的第一个值;如果reduce没有 initialValue 参数,

那么previousValue 等于数组中的第一个值,currentValue等于数组中的第二个值。-----------参考64

注意: 如果没有initialValue参数, reduce从index为1开始执行回调函数, 跳过第一个index。
如果有initialValue参数, reduce 将从index为 0 开始执行回调

如果数组是空的并且没有initialValue参数, 将会抛出TypeError错误. 如果数组只有一个元素并且没有初始值initialValue,
或者有initialValue但数组是空的, 这个唯一的值直接被返回而不会调用回调函数。

 // 简单实例 求和

    let total = [0, 1, 2, 3, 4, 100].reduce(function (a, b) {
        return a + b;-
    })
    console.log(total);

    let arr = [0, 1, 2, 3, 4];
    let ar = arr.reduce(function (a, b) {
        return a + b;
    });
    console.log(ar)  // 10
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值