JS对象应用小练习

以下是某班级学生一次考试的成绩,将每位学生的五项信息以对象的形式按照学号从小到大的顺序存入数组。计算每个学生的总成绩,并按照总成绩从高到低进行排序。最终在网页中以表格的形式输出排序后的各学生学号与成绩。效果如下:
成绩:
学号 语文 数学 英语 总成绩
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>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值