JS:reduce方法(入门例题):第五道

今天这道题是来计算输入数组中的值的平均数,新的一天,新的小知识点,在下还用了新get的编辑器,焕然一新~

首先,我们来创建一个函数;

        function calculateAverage(arr){
            if(arr.length===0){
                return '不输入值是要我算泡泡茶壶吗?'
            }

养成一个好习惯,在编写函数主体之前,先排除特殊情况,不然出现沟沟卡卡的数值,就是代码的错漏之处,也就是身为程序猿的我们不严谨之处。

const	sum=arr.reduce((accumulator,currentValue)=>accumulator+currentValue,0);
            return sum/arr.length;
        }
        }

这就是函数的主体,上下拼接食用即可。

今天的函数体很简单,主要是用到一个方法:

reduce()方法
reducer 函数是一个接收多个参数的回调函数,通常与数组的 reduce() 方法一起使用(双向奔赴)。
reduce() 方法对数组中的每个元素执行一个由程序猿提供的 reducer 函数,将其结果汇总为单个返回值。

其中包含两个参数:accumulator以及currentValue
accumulate我们简称为小a,它的中文名字叫累加器,是上一次回调返回的值。
currentValue我们简称小c,它的中文名字叫当前值,也就是函数现在正在处理的数值。

结合我们代码来看:

(accumulator,currentValue)=>accumulator+currentValue

这一句的意思就是,调用小a和小c,不断地对数组的数值进行加法操作。

然后我们可以看到,这句函数尾巴上坠着一个数字:0
这个0是reduce方法中的第二个参数,它的作用是指定了 reduce() 操作的初始值。

这个初始值非常重要,因为它定义了 reduce() 操作开始时 小a的值。如果没有提供初始值,那么小a的初始值将是数组的第一个元素,并且 小c(当前值) 将是数组的第二个元素。

如果你不希望小a是从第一个数开始的话,那么更改这个参数,就可以更改小a的初始值了!

这段函数最后输出的是所有数的累加和,即sum

那么最后配合返回代码,将变量 sum/arr.length 的值输出

return sum/arr.length;

console.log(calculateAverage([2,1,7,4,2,8,6,0,0,0]));
        console.log(calculateAverage([]));

我们就可以得到输出结果了:
在这里插入图片描述

  • 31
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值