js 表格中根据班级计算总成绩
需求
统计各班的成绩
思路
遍历表格所有行,把每个学生的班级都放进一个数组里
把这个数组去重得到班级列表
遍历班级列表,判断每个学生的班级是否一致,一致就放进对应的班级数组里
每个班级组成成员求和
求和结果与班级一一对应生成对象
调用函数按需求和
代码
// 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 表格中根据班级计算总成绩相关推荐
- html 表格自动计算,HTML表格中的JavaScript计算
我是 JavaScript的新手,所以我甚至不知道这是否是尝试这个的正确语言,但我想我会尝试.我已经阅读了其他几篇文章,我找不到真正让我知道如何做到这一点的东西,所以我在这里问.我读过的所有例子都涉及 ...
- 从文件中读出数据显示在表格中_玩转表格:如何在Word表格中进行数据计算?...
Word文档中的表格也可以进行数据运算的. 例如,要对表格中第1季度的数据进行求和计算时,具体操作方法如下. 1 第1步:将光标置于要输入合计值的单元格中,切换到[表格工具]栏中的[布局]选项卡中,在 ...
- 计算机word表格计算教程F9,计算word表格中数据的教程
计算word表格中数据的教程 为了方便用户使用表格中的数据计算,Word对表格的单元格进行了编号,每个单元格都有一个惟一编号.编号的原则是:表格最上方一行的行号为1,向下依次为2,3,4,-表格最左一 ...
- 目标检测中map的计算
文章目录 前言 一.IoU和TP.FP.TN.FN的概念 IoU(Intersection over Union): TP.FP.TN.FN 二.Precision和Recall 1.Precisio ...
- 使用js删除表格中的一行的一个小练习
代码: <!DOCTYPE html> <html lang="ch"><head><meta charset="UTF-8&q ...
- JS调用PageOffice接口,删除Word表格中光标所在行
在项目开发过程中,可能会遇到需要对Word文件中的表格进行操作的问题, 当想要删除某一行时,一般的做法都是先用选中某一行,再点击右键删除行,这样的操作不仅会降低操作效率而且容易误操作,下面我就来介绍一 ...
- JS实现动态生成表格并提交表格数据向后端 表格中数据转为json
原文地址 需求:在web页面上动态的生成表格,并可以对表格中的数据进行编辑,然后把表格中的数据提交至后端服务器保存. 首先动态生成表格. 1.首先我们需要导入JS库文件.jQuery 2.然后在页面d ...
- Java黑皮书课后题第6章:6.11(金融应用:计算酬金)编写方法,利用编程练习题5.39中的方法计算酬金。方法头如下所示。编写程序,显示下面表格
6.11(金融应用:计算酬金)编写方法,利用编程练习题5.39中的方法计算酬金.方法头如下所示.编写程序,显示下面表格 题目 题目描述与运行示例 编程练习题5.39(非本题) 破题 5.39处理 主方 ...
- js中在表格中增加一列的方法_Excel表格中需要提取一列内容末尾的数字,同事分分钟完成...
[温馨提示]亲爱的朋友,阅读之前请您点击[关注],您的支持将是我最大的动力! 日常工作中,经常会收到老板发来的不规则表格,是表格内容不规则: 如下图,让把数字单独一列,以便进行汇总计算. 方法一:快捷 ...
最新文章
- PHP5.5安装GeoIP扩展
- VS Web.config 密码加密加密
- if something reaches the top
- ITK:重新采样标量图像
- 1054. 距离相等的条形码
- 课时109.外边距合并现象(掌握)
- java 后台和前端的消息提醒_滴滴Java后台3面题目:网络+内存溢出+各种锁+高性能+消息队列...
- 电脑4次连续故障音_格力空调电子膨胀阀故障判定与“E6”处理方法
- 热榜!基于jsp+mysql的JSP在线水果销售商城系统设计实现【建议收藏】
- 公有云退款流程及政策--退款规则及退款流程(阿里云 华为云) --2020-09-03
- [VNC] 云服务器 Ubuntu 16.04 安装 gnome 桌面并配置 VNC
- 程序员的目标应该是向牛人看齐而不是当经理或者赚大钱
- spring 事物配置几种
- SQL中返回刚插入记录的ID
- python合并视频和音频_Python批量合并处理B站视频
- 小白兔写话_小白兔写话二年级作文
- 人工智能领域中的一个重要方向:自然语言处理
- 电脑启用网络发现以后在点开又成关闭状态了,导致网上邻居访问不了 。如何处理
- 石正喜MySQL数据库使用教程_《21世纪高职高专系列规划教材:MySQL数据库实用教程》【摘要 书评 在线阅读】-苏宁易购图书...
- Float的取值范围
热门文章
- Hadoop学习之路(二)Hadoop发展背景
- 批量激活的激活错误代码
- 移动端常见布局方式(流式布局、flex弹性布局、less+rem+媒体查询、Bootstrap)
- 关于阅读datasheet
- 由于目标计算机积极拒绝,无法连接。 (10061)
- 我用python写了一套股票万金油,回报小雪下面给我吃!
- mysql partition 实战
- android动态添加顶部tab,android选项卡(Tab)实现顶部和底部
- Spring Cloud Hystrix原理简析
- 台湾国立大学郭彦甫Matlab教程笔记(4)matrix