本文主要是介绍js算法 计算每一列的平均值 求matrix数组对应列的平均值 组成一个新的数组 matrix数组有6行 如果某一行里的值是0则不纳入平均的分母里,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
let matrix = [[18.95, 21.1, 0, 23, 0, 0, 0],[19, 25.3, 24.64, 0, 0, 0, 21.24],[22.18, 24.5, 20, 0, 26, 0, 0],[18.41, 19.05, 22.41, 27.67, 17, 0, 0],[14.86, 19.31, 0, 19.4, 18.71, 0, 25.04],[18.93, 19.53, 0, 0, 0, 0, 0]
];// 获取矩阵的列数
const numCols = matrix[0].length;// 计算每一列的平均值
const columnAverages = Array.from({ length: numCols }, (_, colIndex) => {// 使用filter过滤掉值为0的行,然后使用reduce计算平均值const sum = matrix.reduce((acc, row) => {const value = row[colIndex];if (value !== 0) {return acc + value;}return acc;}, 0);// 计算非零值的数量const count = matrix.reduce((acc, row) => {const value = row[colIndex];if (value !== 0) {return acc + 1;}return acc;}, 0);// 如果存在非零值,则返回平均值,否则返回0或其他默认值return count > 0 ? sum / count : 0;
});// 打印新的数组,即每一列的平均值
console.log(columnAverages);
这篇关于js算法 计算每一列的平均值 求matrix数组对应列的平均值 组成一个新的数组 matrix数组有6行 如果某一行里的值是0则不纳入平均的分母里的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!