JavaScript 中使用 Reduce 方法求平均值
在本题中,我们的目标是利用 Javascript 的 reduce 方法获取所有项目的平均值。为此,我们将创建一个函数,并将数组作为参数传入。
理解题意
任务是计算数组中给定项目的平均值。我们必须使用 Javascript 的预定义方法 reduce 方法。例如,如果我们有一个数组 [1, 2, 3, 4, 5],则该数组的项目的平均值为 3。(1 + 2 + 3 + 4 + 5) / 5 = 15 / 5 = 3。
问题的逻辑
由于我们必须在 Javascript 中使用 reduce 方法,因此我们将首先创建一个函数,该函数将以数组作为输入参数。在函数内部,我们将检查数组是否为空。如果为空,则函数应返回零;否则,我们将使用 reduce 方法计算数组中所有元素的总和。然后,我们将总和除以数组的长度以获得平均值。
算法
步骤 1:声明一个函数来获取数组中所有项目或数字的平均值,并将其命名为 getAverage。
步骤 2:检查 if-else 条件,判断数组是否为空。如果为空,则返回零,因为数组中没有任何项目。
步骤 3:否则,借助 reduce 方法,我们将计算数组中所有项目的总和。并将累加器的初始值设置为零。
步骤 4:将计算出的总和除以数组的长度,以获得元素的平均值。
步骤 5:最后返回项目的平均值。
示例
//function to get the average of elements
function getAverage(arr) {
if (arr.length === 0) {
return 0;
}
const sum = arr.reduce((acc, curr) => acc + curr, 0);
const average = sum / arr.length;
return average;
}
const numbers = [1, 2, 2, 3, 4, 4, 5, 5];
const avg = getAverage(numbers);
console.log("Average is : ",avg);
输出
Average is : 3.25
复杂度
如果 n 是输入数组的大小,则定义的算法所花费的时间为 O(n)。出现这种复杂度的原因是,我们使用了 reduce 方法,该方法迭代数组的每个元素一次以计算总和。
结论
在上面的代码中,我们使用了 reduce 方法,它是 Javascript 中一个强大的方法,用于对数组进行计算。通过获取所有项目的总和并将其除以数组的长度,它非常有助于计算数组的平均值。这是一种高效的方法,具有线性时间复杂度,适用于大型数组。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP