需求

统计各班的成绩

思路

  1. 遍历表格所有行,把每个学生的班级都放进一个数组里

  2. 把这个数组去重得到班级列表

  3. 遍历班级列表,判断每个学生的班级是否一致,一致就放进对应的班级数组里

  4. 每个班级组成成员求和

  5. 求和结果与班级一一对应生成对象

  6. 调用函数按需求和

代码

     // tb: 要计算的表格// c1:按照什么来求和(传入列号,从0开始,如按照班级c1为1)// c2:求和的数据(传入列号,从0开始,如求语文c2为3)function countFun(tb, c1, c2) {let arr = []let group = []let countArr = []let sum = 0let allArr = []let endObj = {}for (let i = 1; i < tb.rows.length; i++) {const item3 = tb.rows[i].cells[c1].innerHTML;arr.push(item3)}//利用set成员的值不可重复的特性来去重group = Array.from(new Set(arr))for (let l = 0; l < group.length; l++) {ban = group[l];countArr = []for (let i = 1; i < tb.rows.length; i++) {const item = tb.rows[i];if (ban == item.cells[c1].innerHTML) {countArr.push(item.cells[c2].innerHTML)}}allArr.push(countArr)}for (let i = 0; i < group.length; i++) {const item4 = group[i];sum = allArr[i].reduce((prev, cur, index) => {return parseInt(prev)+ parseInt(cur)}, 0)// endObj对象的键和值都赋值endObj[item4] = sum}return endObj}

我们现在就可以调用countFun函数计算总分啦!

document.write('一班语文总分:' + countFun(table, 1, 3)['一班']+'<br>')
document.write('二班数学总分:' + countFun(table, 1, 4)['二班']+'<br>')
document.write('三班英语总分:' + countFun(table, 1, 5)['三班']+'<br>')

还可以按性别来计算。

document.write('男生数学总分:' + countFun(table, 2, 4)['男']+'<br>')
document.write('女生英语总分:' + countFun(table, 2, 5)['女']+'<br>')

最终结果:

js 表格中根据班级计算总成绩相关推荐

  1. html 表格自动计算,HTML表格中的JavaScript计算

    我是 JavaScript的新手,所以我甚至不知道这是否是尝试这个的正确语言,但我想我会尝试.我已经阅读了其他几篇文章,我找不到真正让我知道如何做到这一点的东西,所以我在这里问.我读过的所有例子都涉及 ...

  2. 从文件中读出数据显示在表格中_玩转表格:如何在Word表格中进行数据计算?...

    Word文档中的表格也可以进行数据运算的. 例如,要对表格中第1季度的数据进行求和计算时,具体操作方法如下. 1 第1步:将光标置于要输入合计值的单元格中,切换到[表格工具]栏中的[布局]选项卡中,在 ...

  3. 计算机word表格计算教程F9,计算word表格中数据的教程

    计算word表格中数据的教程 为了方便用户使用表格中的数据计算,Word对表格的单元格进行了编号,每个单元格都有一个惟一编号.编号的原则是:表格最上方一行的行号为1,向下依次为2,3,4,-表格最左一 ...

  4. 目标检测中map的计算

    文章目录 前言 一.IoU和TP.FP.TN.FN的概念 IoU(Intersection over Union): TP.FP.TN.FN 二.Precision和Recall 1.Precisio ...

  5. 使用js删除表格中的一行的一个小练习

    代码: <!DOCTYPE html> <html lang="ch"><head><meta charset="UTF-8&q ...

  6. JS调用PageOffice接口,删除Word表格中光标所在行

    在项目开发过程中,可能会遇到需要对Word文件中的表格进行操作的问题, 当想要删除某一行时,一般的做法都是先用选中某一行,再点击右键删除行,这样的操作不仅会降低操作效率而且容易误操作,下面我就来介绍一 ...

  7. JS实现动态生成表格并提交表格数据向后端 表格中数据转为json

    原文地址 需求:在web页面上动态的生成表格,并可以对表格中的数据进行编辑,然后把表格中的数据提交至后端服务器保存. 首先动态生成表格. 1.首先我们需要导入JS库文件.jQuery 2.然后在页面d ...

  8. Java黑皮书课后题第6章:6.11(金融应用:计算酬金)编写方法,利用编程练习题5.39中的方法计算酬金。方法头如下所示。编写程序,显示下面表格

    6.11(金融应用:计算酬金)编写方法,利用编程练习题5.39中的方法计算酬金.方法头如下所示.编写程序,显示下面表格 题目 题目描述与运行示例 编程练习题5.39(非本题) 破题 5.39处理 主方 ...

  9. js中在表格中增加一列的方法_Excel表格中需要提取一列内容末尾的数字,同事分分钟完成...

    [温馨提示]亲爱的朋友,阅读之前请您点击[关注],您的支持将是我最大的动力! 日常工作中,经常会收到老板发来的不规则表格,是表格内容不规则: 如下图,让把数字单独一列,以便进行汇总计算. 方法一:快捷 ...

最新文章

  1. PHP5.5安装GeoIP扩展
  2. VS Web.config 密码加密加密
  3. if something reaches the top
  4. ITK:重新采样标量图像
  5. 1054. 距离相等的条形码
  6. 课时109.外边距合并现象(掌握)
  7. java 后台和前端的消息提醒_滴滴Java后台3面题目:网络+内存溢出+各种锁+高性能+消息队列...
  8. 电脑4次连续故障音_格力空调电子膨胀阀故障判定与“E6”处理方法
  9. 热榜!基于jsp+mysql的JSP在线水果销售商城系统设计实现【建议收藏】
  10. 公有云退款流程及政策--退款规则及退款流程(阿里云 华为云) --2020-09-03
  11. [VNC] 云服务器 Ubuntu 16.04 安装 gnome 桌面并配置 VNC
  12. 程序员的目标应该是向牛人看齐而不是当经理或者赚大钱
  13. spring 事物配置几种
  14. SQL中返回刚插入记录的ID
  15. python合并视频和音频_Python批量合并处理B站视频
  16. 小白兔写话_小白兔写话二年级作文
  17. 人工智能领域中的一个重要方向:自然语言处理
  18. 电脑启用网络发现以后在点开又成关闭状态了,导致网上邻居访问不了 。如何处理
  19. 石正喜MySQL数据库使用教程_《21世纪高职高专系列规划教材:MySQL数据库实用教程》【摘要 书评 在线阅读】-苏宁易购图书...
  20. Float的取值范围

热门文章

  1. Hadoop学习之路(二)Hadoop发展背景
  2. 批量激活的激活错误代码
  3. 移动端常见布局方式(流式布局、flex弹性布局、less+rem+媒体查询、Bootstrap)
  4. 关于阅读datasheet
  5. 由于目标计算机积极拒绝,无法连接。 (10061)
  6. 我用python写了一套股票万金油,回报小雪下面给我吃!
  7. mysql partition 实战
  8. android动态添加顶部tab,android选项卡(Tab)实现顶部和底部
  9. Spring Cloud Hystrix原理简析
  10. 台湾国立大学郭彦甫Matlab教程笔记(4)matrix