面试题目:成绩排序(Leon 84分)......

最近面试遇到了一个算法题,因为落落做前端,就知道js相关的,所以拿到下面这个题目想到的就是用数组方法排序。题目虽不难,但是吧,应该会有童靴需要的哈,所以呢,还是分享一下。

题目:王老师需要把同学们的考试成绩进行整理,请按照分数从低到高的顺序帮助王老师进行排序(可以使用快排等排序算法),成绩信息如下:
-Leon 84分
-Carrie 94分
-Adan 82分
-Elaina 77分
-Jason 99分

对考试成绩进行排序,那当然是要锁定分数啦,但是呢,分数和名字也是一一对应的,不能忽视哈。
直接贴代码啦:

        var arr=[{name:"Leon",score:"84分"},
                {name:"Carrie",score:"94分"},
                {name:"Adan",score:"82分"},
                {name:"Elaina",score:"77分"},
                {name:"Json",score:"99分"}
        ]
        arr.sort(function CompareFunction(a,b){
            if(a.score

方法呢,就是js数组sort方法中的自定义排序。
简要介绍一下:
sort方法有一个参数叫做比较函数。如果指明了 compareFunction() ,那么数组会根据该函数的返回值排序。记 a 和 b 是两个将要被比较的元素,如果返回是负数,a排在b之前;如果返回值是0,相对位置不变;如果返回值是正数,a排在b之后。
例如自定义升序排列:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,在排序后的数组中a、b不区分先后,则返回 0。
若 a 大于 b,在排序后的数组中 a 应该出现在 b 之后,则返回一个大于 0 的值。

落落当时是手写的代码,已经上机验证过了哦。不过还是建议你自己敲一遍,_

你可能感兴趣的:(面试题目:成绩排序(Leon 84分)......)