JS中reduce函数的使用

一:函数解释

reduce()是一个对数组中的每个元素按照顺序依次执行自定义函数的方法。
就是遍历数组,每个元素都执行相同的方法。

二:实际应用

accumulator和currentValue分别用acc和cur表示哈,举例如下:

应用例子①:累加数组的值

const testArray1 = [1, 2, 3, 4]
const originValue = 0
const sum = testArray1.reduce((acc, cur) => {
	// 这里定义的就是方法了
	// acc时初始值,cur是遍历的每个元素
	// 初始时,acc就是那个originValue的值,就是0,然后累计加testArray里面的每个元素cur
	return acc += cur
}, originValue)

结果:输出了sum为10

例子1的图片

应用例子②:找最大或最小

找最大
const testArray2 = [5, 10, -6, 3]
const max = testArray2.reduce((acc, cur) => {
	return acc > cur ? acc : cur
})

结果如下:
例子2找最大

找最小
const testArray2 = [15, -1, -9, 6]
const min = testArray2.reduce((acc, cur) => {
	return acc < cur ? acc : cur
})

结果如下:
例子2找最小

解疑:

可能有人觉得为什么第一种举例里面的大括号里面有个逗号+自定义的值,第二种举例里没有,回答,单纯为了特殊情况使用(这种比较大小的最怕临时的值比数组里面的大或小)
假如大框号后面没逗号+值,那第一个acc就是数组的第一个值,第一个cur就是数组的第二个值
假如大框号后面有逗号+值,那第一个acc就是数组的那个自定义的值,第一个cur就是数组的第一个值;cur
上例子!!!
大框号后面没逗号+值的:
解疑图片1
大框号后面有逗号+值的:
解疑图片2
相信看完应该能理解了。
转例子了。

应用例子③:合并多维数组

concat方法:合并两个数组的每个元素到同一个数组的
concat方法+reduce方法

const testArray3 = [
  [0, [6, 7], 1],
  [2, 3, 6],
  [[3, 2, 1], [[1, 2, 3], [1, 2, 4], [1, 2, 5]], 6]
]
const concatArray = testArray3.reduce((acc, cur) => {
    return acc.concat(cur)
}, [])

结果如下:
;例子3图片

三:总结

reduce函数就是一个遍历数组的,并给每个元素执行函数的方法。
就单纯一个迭代的方法,起多大的作用,就靠中间的函数了。
中间的函数就只能提升Js功底了,多看菜鸟教程吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值