数组的reduce方法及其应用

本文介绍了数组的reduce方法,包括其工作原理和使用案例。同时探讨了compose函数在函数式编程中的作用,以及如何通过它来简化函数调用。此外,还展示了如何利用reduce方法解决多维数组降维的问题。
摘要由CSDN通过智能技术生成

前两天在群里看到一道题,折腾半天没做出来。今天查了查,了解了前因后果,在此整理记录一下。之前都没怎么重视过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 =>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值