在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高階函數,這個東西算是很高級的一個東西了。