使用JavaScript计算列平均值及所有行平均值总和的实现方法
多列分数平均值求和实现方案
核心规则
- 分数行支持动态生成,固定为5列数据
- 单列平均值计算规则:该列所有录入分数求和后,除以该列录入的分数数量
- 最终总得分:5列的平均值累加求和后输出到指定蓝色区域
示例验证:A项满分40,录入分数为33、4、5,求和得42,除以分数个数3,得到平均值14,符合规则要求
JavaScript实现代码
// 5列分数配置,scores对应各列动态生成的分数行数据,可实时更新 const columnData = [ // 示例第一列为A项,剩余4列可按需配置满分值和录入分数 { fullMark: 40, scores: [33, 4, 5] }, { fullMark: 30, scores: [22, 26, 27] }, { fullMark: 15, scores: [13, 11, 9] }, { fullMark: 10, scores: [8, 7, 9] }, { fullMark: 5, scores: [4, 3, 5] } ] let totalResult = 0 columnData.forEach(col => { // 计算单列平均值 const colSum = col.scores.reduce((sum, curr) => sum + curr, 0) const colAvg = colSum / col.scores.length totalResult += colAvg }) // 输出到蓝色区域,可根据实际DOM的id修改选择器 document.querySelector('#blueResultArea').innerText = totalResult.toFixed(1)
补充说明
- 动态新增/删除分数行时,只需同步更新对应列的
scores数组即可 - 若需要输出整数结果,可将
toFixed(1)替换为Math.round(totalResult)
内容的提问来源于stack exchange,提问作者TheTop Walk
相关产品推荐
相关产品推荐

