【发布时间】:2017-02-18 13:10:49
【问题描述】:
我有一个 2D 数组,按学生姓名和他们的各种 100m 冲刺会话排序。数据数组的一个 sn-p 可能看起来像这样......
Names Time(s)
ANDREWMICHEALSMITH 13.95
JOHNJAMESPETERSON 13.70
JOHNJAMESPETERSON 13.80
JOHNJAMESPETERSON 12.50
PETERMICHEALHEWITT 12.80
PETERMICHEALHEWITT 12.60
VICENTJAMESSMITH 13.10
VICENTJAMESSMITH 13.50
VICENTJAMESSMITH 13.80
VICENTJAMESSMITH 13.00
我迫切需要转换表格以显示学生姓名、他们的平均时间和定时会话数,如下所示的理想结果......
Names Avg Time(s) Sessions
ANDREWMICHEALSMITH 13.95 1
JOHNJAMESPETERSON 13.33 3
PETERMICHEALHEWITT 12.70 2
VICENTJAMESSMITH 13.35 4
到目前为止,我已经起草了一个 JavaScript 代码,不幸的是在第一个 if 语句中失败了。
无法从未定义中读取属性“0”。
该代码也没有捕获具有第 n 个会话数的学生,并且还没有提供会话数。坦率地说,对于手头的任务,我的 Java 知识非常有限。我迫切需要一些帮助才能达到最终结果。
我非常感谢任何指导。
StudentList.sort();
for (var i=0; i<StudentList.length; i++){
if(StudentList[i][0] == StudentList[i+1][0]){
if(StudentList[i+1][0] == StudentList[i+2][0]){
if(StudentList[i+2][0] == StudentList[i+3][0]){
if(StudentList[i+3][0] == StudentList[i+4][0]){
StudentList[i][1] = (StudentList[i][1]+StudentList[i+1][1]+StudentList[i+2][1]+StudentList[i+3][1]+StudentList[i+4][1])/5;
StudentList.splice(i+1,3);
}else{
StudentList[i][1] = (StudentList[i][1]+StudentList[i+1][1]+StudentList[i+2][1]+StudentList[i+3][1])/4;
}
}else{
StudentList[i][1] = (StudentList[i][1]+StudentList[i+1][1]+StudentList[i+2][1])/3;
}
}else{
StudentList[i][1] = (StudentList[i][1]+StudentList[i+1][1])/2;
}
}
}
【问题讨论】:
-
你的阵列在哪里?
标签: javascript multidimensional-array average