js 求相同长度的二维数组 每个子集的平均值 不是每一个data的平均值 是每一列的平均值

js 求相同长度的二维数组 每个子集的平均值 不是每一个data的平均值 是每一列的平均值_第1张图片

    let testArr = [
        [0, 14.2, 0, 0, 21.8, 18.5, 22.4, 0],
        [0, 26, 0, 0, 22.1, 24.2, 20, 0], 
        [0, 0, 0, 21.3, 19, 23.2, 20, 0], 
        [20, 0, 0, 0, 21.6, 14.3, 0, 17.6]
    ]
    let oss = this.columnMeans(testArr)

    columnMeans(matrix) {
      const len = matrix[0].length;            
      // 初始化结果数组
      const result = [];
      for (let j = 0; j < len; j++) {
          result.push(0);  // 初始化平均值为0
      }

      // 计算每一列的平均值
      for (let j = 0; j < len; j++) {
          let sum = 0;
          for (let i = 0; i < matrix.length; i++) {
              sum += matrix[i][j];  // 对每一列的值求和
          }
          result[j] = sum / matrix.length;  // 计算平均值并存入结果数组
      }
      return result;  // 返回结果数组,即每一列的平均值
    },
    

你可能感兴趣的:(js,算法,前端,数据结构)