在 JavaScript 中查找数组中每个数组的平均值
在给定的问题陈述中,我们得到了一个包含多个子数组的数组。因此,我们的目标是计算每个子数组的平均值,并将这些平均值存储在一个新数组中。并在 Javascript 中实现解决方案。
理解问题
问题给出了一个包含多个数组或嵌套数组的数组。每个子数组都包含一些数值。我们的任务是计算每个子数组的平均值,并将这些平均值收集到一个新数组中。例如,我们有这样的数组 [[4, 6], [2, 4], [6, 2]],因此第一个子数组 4 和 6 的平均值是 5,第二个数组 2 和 4 的平均值是 3,第三个数组 6 和 2 的平均值是 4。因此,子数组平均值的结果数组是 [5, 3, 4]。
给定问题的逻辑
为了实现代码,我们将遍历主数组,并且我们将一次访问每个数组块。在每个子数组中,我们将计算其自身项的总和,然后将该总和除以子数组的长度以获得平均值。然后,该平均值将添加到新数组中。实施解决方案后,我们将能够确定主数组中每个子数组的平均值。
算法
步骤 1:定义一个函数来获取输入数组的子数组的平均值。并将其命名为 calAvgOfArr。
步骤 2:我们需要子数组的平均值,因此我们需要一个数组来存储子数组的平均值,并将其命名为"平均值"。声明为空对象。
步骤 3:使用 for 循环遍历外部数组,直到使用 i 变量的 length 属性。
步骤 4:在上面的循环中,我们必须跟踪内部数组中项目的总和,因此定义一个名为 sum 的变量来存储总和值。
步骤 5:在第一个循环中,我们使用另一个循环遍历带有 j 变量的内部数组项目并将其添加到总和中。
步骤 6:平均值将通过将总和除以当前子数组或内部数组的长度来计算。
步骤 7:所有循环结束后,在获得每个内部数组的平均值后,将值插入我们在第二步中创建的数组中。
示例
//计算子数组平均值的函数
function calAvgOfArr(arr) {
// 存储结果数组的数组
const averages = [];
for (let i = 0; i < arr.length; i++) {
let sum = 0;
for (let j = 0; j < arr[i].length; j++) {
sum += arr[i][j];
}
const average = sum / arr[i].length;
averages.push(average);
}
return averages;
}
const array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
const result = calAvgOfArr(array);
console.log(result);
输出
[ 2, 5, 8 ]
复杂性
以下问题陈述使用 JavaScript 方法(如 for 循环和 push 方法)解决,该方法在 O(n * m) 最坏情况下的时间复杂度中遍历元素数组。问题陈述的空间复杂度为 O(m)。
结论
通过使用嵌套 for 循环,我们可以轻松计算出 JavaScript 中每个子数组的平均值。该算法的复杂度为 O(n * m)。这意味着它可以有效地处理中等大小的数组。但如果数组大小变得非常大,那么代码的执行时间可能会比预期的要长。
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

