1. 程式人生 > >js中sort()排序的原理

js中sort()排序的原理

眾所周知sort()可以實現排序,不僅是數字,字串也可以,那麼相比讀過sort()原始碼的同學不會很多,今天給大家講解一下原理:

從小到大排序

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr.sort(function(a, b)
{
return a - b
}))

</script>

從大到小的排序

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr.sort(function(a, b)
{
return a - b
}))

</script>

看下面的程式碼

window.onload=function(){
        var arr=[2,55,55,1,75,3,9,35,70,166,432,678,32,98];
        var arr2=["George","John","Thomas","James","Adrew","Martin"];

        function arrsort(a,b){
            return a-b;
            }
        console.log(arr.sort(arrsort));  //數字排序需要函式,如果要從大排到小,就return b-a;
        console.log(arr2.sort());  //字母不需要
}