在JavaScript中,我們可以使用Array對象的sort()方法對數組元素進行大小比較排序。
語法:
數組對象.sort(函數名)
說明:
其中“函數名”用來確定元素順序的函數的名稱,如果這個參數被省略,那麼元素將按照ASCII字符順序進行升序排序。
舉例:
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> //升序比較函數 function asc(a,b) { return a-b; } //降序比較函數 function des(a,b) { return b-a; } //創建數組的同時對元素賦值 var arr=new Array(3,9,1,12,50,21); document.write("排序前的數組元素"+arr.join(",")); document.write("<br/>"); arr.sort(asc); document.write("升序後的數組元素"+arr.join(",")); document.write("<br/>"); arr.sort(des); document.write("降序後的數組元素"+arr.join(",")); </script> </head> <body> </body> </html>
在浏覽器預覽效果如下:
分析:
很多人JavaScript初學者對上面的排序很疑惑,大家可以看看這篇文章“深入探討JS中的數組排序函數sort()”。如果新人還是不懂其原理的話,以後用的時候回來參考一下就知道了。在JavaScript進階教程會有詳細介紹原理。其實sort()方法涉及到了JavaScript高階函數,這個東西算是很高級的一個東西了。