JavaScript 找到数组中每个数组的平均值

JavaScript 找到数组中每个数组的平均值

在给定的问题陈述中,我们有一个包含多个子数组的数组。所以我们的目标是计算每个子数组的平均值,并将这些平均值存储在一个新数组中。并且在JavaScript中实现解决方案。

理解问题

问题给出了一个包含多个数组或嵌套数组的数组。每个子数组包含一些数值。我们的任务是计算每个子数组的平均值,并将这些平均值收集到一个新数组中。例如,我们有这样的数组[[4,6],[2,4],[6,2]],所以第一个子数组4和6的平均值是5,第二个数组2和4的平均值是3,第三个数组6和2的平均值是4。所以子数组的平均数结果数组是[5,3,4]。

给定问题的逻辑

为了实现代码,我们将遍历主数组,并且我们将每次访问每个数组块。在每个子数组中,我们将计算其自身项目的总和,并将该总和除以子数组的长度以获得平均值。然后将此平均值添加到新数组中。实施解决方案后,我们将能够确定主数组中每个子数组的平均值。

步骤

步骤1: 定义一个函数来获取输入数组的子数组的平均值。并给它一个名字为calAvgOfArr。

步骤2: 我们需要子数组的平均值,因此我们需要一个数组来存储子数组的平均值,并给它命名为“averages”。它被声明为空对象。

步骤3: 使用循环遍历外部数组直到其长度属性,使用变量i。

步骤4: 在上面的循环中,我们必须跟踪内部数组中项目的总和,因此定义一个变量sum来存储总和值。

步骤5: 在第一个循环内部,我们使用另一个循环来遍历内部数组项目,使用变量j,并将其添加到总和中。

步骤6: 通过将总和除以当前子数组或内部数组的长度来计算平均值。

步骤7: 一旦所有循环结束,在获取每个内部数组的平均值之后,将值插入到我们在第二步创建的数组中。

示例

//Function to calculate the average of subarrays
function calAvgOfArr(arr) {
   // Array to store the result array
   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)。这意味着它可以有效地处理适度大小的数组。但是,如果数组的大小变得非常大,那么代码执行可能会比预期的时间要长。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程