数组方法reduce

最近在写一个购物车页面,需要根据每件商品的数量及单价,来计算总价,使用到了数组的 reduce 方法,之前还不太了解这个方法,这次也是看了很多资料,才搞明白:

arr.reduce((pre, cur, curIndex, arr) => {}, initialValue)
其中:pre:初始值 或 计算结束后的返回值  (必传值)
	  cur:当前元素  (必传值)
	  curIndex: 当前元素的索引
	  arr:当前元素所属的数组(也就是arr)
	  initialValue: 自己设置的初始值
	  
reduce 方法会自动遍历数组的哦,但不会遍历空数组哦。。。

此次计算商品总价:

allPayPrice () {
     const sum = this.selectedGoodsList.reduce((pre, cur) => {
         return pre + cur.num * cur.price
     }, 0)    // 自己设置的初始值:0
     return sum
}
就是这么简单的几行,其中:
	我设置了初始值为0,那么第一次回调时:
		pre=0,cur=数组里的第一个元素,且相加后返回了一个值;
	第二次回调时:
		pre=上次相加后返回的那个值,cur=数组里的第二个元素.....以此类推
最后一次回调后,返回的值就是他们的和啦。。。也就是总价啦。。。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我好菜呐

啊?真的给我打赏嘛??

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值