慕沐6092693
2016-08-19 17:42
我知道单纯成绩的排名怎么弄,我想知道怎么连同姓名一起进行排名
好像是不行的,我按照你说的写了一段代码,来测试了一下。中文和整数在一个数组内估计计算机不知道按那种方式排列,还是按照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/>");
}
<!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",将这个对象的分数拿出来进行比较就可以了。
每一个同学的名字和成绩存到一起,排序的时候解析出成绩进行排序;
不知道js有没有字典,有的话,直接对应关系存入字典,在对字典进行排序;
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题
回答 2
回答 4
回答 1
回答 7
回答 1