以下是某班级学生一次考试的成绩,将每位学生的五项信息以对象的形式按照学号从小到大的顺序存入数组。计算每个学生的总成绩,并按照总成绩从高到低进行排序。最终在网页中以表格的形式输出排序后的各学生学号与成绩。效果如下:
成绩:
学号 语文 数学 英语 总成绩
202001 105 62 118
202002 89 78 120
202003 86 64 80
202004 78 99 91
202005 107 97 70
202006 112 61 92
202007 101 79 104
202008 71 72 105
202009 56 68 61
202010 98 83 77
网页输出:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
table{
border-collapse: collapse;
}
td,th{
border:1px solid #000000;
width: 100px;
height:30px;
text-align: center;
line-height: 30px;
}
</style>
</head>
<body>
<script>
var data=[
{StudentNumber:202001,Chinese:105,Math:62,English:118,TotalScore:""},
{StudentNumber:202002,Chinese:89,Math:78,English:120,TotalScore:""},
{StudentNumber:202003,Chinese:86,Math:64,English:80,TotalScore:""},
{StudentNumber:202004,Chinese:78,Math:99,English:91,TotalScore:""},
{StudentNumber:202005,Chinese:107,Math:97,English:70,TotalScore:""},
{StudentNumber:202006,Chinese:112,Math:61,English:92,TotalScore:""},
{StudentNumber:202007,Chinese:101,Math:79,English:104,TotalScore:""},
{StudentNumber:202008,Chinese:71,Math:72,English:105,TotalScore:""},
{StudentNumber:202009,Chinese:56,Math:68,English:61,TotalScore:""},
{StudentNumber:202010,Chinese:98,Math:83,English:77,TotalScore:""},
];
//总成绩求和
data.map(function (t){
t.TotalScore=t.Chinese+t.Math+t.English;
});
//总成绩排序
data.sort(function (pre,next) {
return next.TotalScore-pre.TotalScore;
});
var table="<table>";
table+="<tr>";
for(var prop in data[0]){
table+="<th>"+prop+"</th>";
}
table+="</tr>";
for(var i=0;i<data.length;i++){
table+="<tr>";
for(var key in data[i] ){
table+="<td>"+data[i][key]+"</td>";
}
table+="</tr>";
}
document.write(table);
</script>
</body>
</html>