数组的reduce方法及其应用

前两天在群里看到一道题,折腾半天没做出来。今天查了查,了解了前因后果,在此整理记录一下。之前都没怎么重视过reduce方法,后来发现它能做的事情还挺多的。

参考资料:

数组的reduce方法

数组的reduce方法相比其他的方法要复杂一些,但理解之后也不难,用法如下:

array.reduce((accumulator, item, index, array) => {
   
	// do something...
}, initialValue)

reduce方法能够对数组使用,他接受两个参数,第一个参数是个函数fn,第二个参数initialValue为可选参数,表示累加器的初始值。

fn中有4个参数,其参数的值会被initialValue存在与否所影响:

  • initialValue存在

参数为:

  1. accumulator: 累加器,初始值为initialValue的值
  2. item:数组的当前项,从第0项开始
  3. index:数组的当前项对应的下标,从0开始
  4. array:数组本身
  • 而当initialValue不存在

参数为:

  1. accumulator: 累加器,初始值为数组第0项
  2. item:数组的当前项,因为 accumulator为第0项,所以这里从1开始
  3. index:数组的当前项对应的下标,从1开始
  4. array:数组本身

简单的用例:

// 
[0, 1, 2, 3, 4].reduce(function(accumulator, item){
  return accumulator + item;
});

compose组合函数

题目:

const fn1 = x => x+1;
const fn2 = x => x+2;
const fn3 = x =>
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值