问下班级同学的成绩排名怎么搞出来

来源:7-23 编程练习

慕沐6092693

2016-08-19 17:42

我知道单纯成绩的排名怎么弄,我想知道怎么连同姓名一起进行排名

写回答 关注

3回答

  • Airly
    2016-09-07 19:52:54

    好像是不行的,我按照你说的写了一段代码,来测试了一下。中文和整数在一个数组内估计计算机不知道按那种方式排列,还是按照unicode编码来进行排列的,所以并没有改变。

     var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

     var newArray = scoreStr.split(";");

     //document.write(newArray+"<br/>"); 

     var array = new Array();

     for(var i = 0 ; i<newArray.length;i++){

    array[i] = newArray[i].split(":");

    document.write(array[i].reverse().sort(sortMethod)+"<br/>");

     } 


  • tlojy
    2016-08-22 18:42:29
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Array对象 </title>
    <script type="text/javascript">
       
       function sortScore(a,b){
           return parseInt(a.split(":")[1])-parseInt(b.split(":")[1]);
       }
    
    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
    var nameScore=scoreStr.split(";");
    document.write(nameScore.sort(sortScore));
    </script>
    </head>
    <body>
    </body>
    </html>

    输出结果:小迪:64,小张:74,小天:76,小伍:76,小曼:76,小花:81,小明:87,小西:90,小小:94,小红:97

    原理:sortScore(a,b)中传入的参数a,b是一个对象,格式为:"小迪:64",将这个对象的分数拿出来进行比较就可以了。

  • vaneX
    2016-08-19 18:26:22
    1. 每一个同学的名字和成绩存到一起,排序的时候解析出成绩进行排序;

    2. 不知道js有没有字典,有的话,直接对应关系存入字典,在对字典进行排序;

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题