请教怎么用JS计算分数排名

JavaScript08

请教怎么用JS计算分数排名,第1张

把所有分数放入一个数组中,就可以用数组排序的方法来排序

<script type="text/javascript">

    function sortNumber(a,b){

        return a-b

    }

    var arr = new Array(3,5,8,31,66,2)

    document.write(arr.sort(sortNumber))

</script>

需要注意的是sortNumber这个方法,因为sort()是按照首字母或数字来排序的,如果没有sortNumber结果为2,3,31,5,66,8 ,这个显然不是我们所要的,如果想按照其他标准进行排序,就需要提供比较函数,如果a小于b,返回一个小于0的值,a排在b的前面,就是小的排前,大的排后,如果两者相等,就返回一个0,如果a大于b,返回一个大于0的值,b排在a的前面,根据这个,我们创建一个sortNumber的函数来判断。

把所有分数放入一个数组中,就可以用数组排序的方法来排序

<script type="text/javascript">

    function sortNumber(a,b){

        return a-b

    }

    var arr = new Array(3,5,8,31,66,2)

    document.write(arr.sort(sortNumber))

</script>

需要注意的是sortNumber这个方法,因为sort()是按照首字母或数字来排序的,如果没有sortNumber结果为2,3,31,5,66,8 ,这个显然不是我们所要的,如果想按照其他标准进行排序,就需要提供比较函数,如果a小于b,返回一个小于0的值,a排在b的前面,就是小的排前,大的排后,如果两者相等,就返回一个0,如果a大于b,返回一个大于0的值,b排在a的前面,根据这个,我们创建一个sortNumber的函数来判断。

这个问题,我在另一个问题里答复过,简直一模一样。。。。

https://zhidao.baidu.com/question/1694280288809319988

<DOCTYPE HTML>

<html>

<head>

<title>考试成绩</title>

<script>

var tips = [

    {"x>=90&&x<=100":"优"},

    {"x>=80&&x<90":"优秀"},

    {"x>=70&&x<80":"良好"},

    {"x>=60&&x<70":"及格"},

    {"x>=0&&x<60":"不及格"},

{"":"输入不正确"}

]

var ck = function(){

    var v = txt.value

    var miss = true

    L: for(var i=0i<tips.lengthi++){

        var obj = tips[i]

        for(var p in obj){

            var yes

try{

yes = eval(p.replace(/x/g,v))

}catch(e){}

            

if(yes){

                result.value = obj[p]

                miss = false

                break L

            }

        }

    }

    if(miss) result.value = tips[tips.length-1][""]

}

</script>

</head>  

<body>

<input type='text' id='txt' /><button onclick='ck()'>get</button>

<input type="text" id="result" />

</body>

</html>