数组reduce()方法

reduce()方法可以搞定的东西,for循环,或者forEach方法有时候也可以搞定,那为啥要用reduce()?自己理解  就是逼格高一点,别的没有什么差别
 

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

 

arr.reduce(callback,[initialValue])
let arr = [10, 11,12,13,14]
arr.reduce((per , cur , index , arr)=>{
	console.warn(per , cur , index , arr)
})

输出:

per   =>   previousValue   => 上一次调用回调返回的值,或者是提供的初始值(initialValue)

cur    =>   currentValue     => 数组中当前被处理的元素

index =>   index                => 当前元素在数组中的索引值

arr     =>  arr                     => 调用的原数组

此时,大家可以发现数组是五项 ,但输出了四次 ,它默认是从所引值1的位置开始遍历的,如果想让它从索引值0的位置遍历时,可以看下面

let arr = [10, 11,12,13,14]
arr.reduce((per , cur , index , arr)=>{
	console.warn(per , cur , index , arr)
} , 0)

大家会发现会有4个undefined 出现  那是因为reduce()这个方法中要有返回值的  

let arr = [10, 11,12,13,14]

console.log(arr.reduce((per , cur , index , arr)=>{
    console.warn(per , cur , index , arr)
    return per + cur
} , 0))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值