js中sort()排序的原理
阿新 • • 發佈:2019-02-18
眾所周知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">
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()); //字母不需要
}