sort()localeCompare()
sort()使用,sort()函數會對使用的數組對象進行排序,排序規則安裝字符編碼順序排序,
如:(無法直接比較中文)
var arr = new Array(6);
arr[0] = "23"
arr[1] = "1"
arr[2] = "8"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
arr.sort(),返回
:1,1,1000,23,25,8,按照首位值進行排序
sort有一個參數可設置排序規則,arr.sort(sortNumber);參數為方法名,sort方法會按順序將arr[i]、arr[i+1]傳入方法sortNumber(a,b)的參數a,b中進行對比冒泡排序
返回規則:
a小於b,返回小於0的值,sort排序會將a放在b之前
a等於b,返回0
a大於b,返回大於0的值,sort排序會將b放在a之前
若 a 大於 b,則返回一個大於 0 的值。
即當arr[0]、arr[1]傳入時,return a-b,返回22大於0,即返回值b出現在a前面
<html>
<body>
<script type="text/javascript">
function sortNumber(a, b)
{
return a - b
}
var arr = new Array(6)
arr[0] = "23"
arr[1] = "1"
arr[2] = "8"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
</script>
</body>
</html>
localeCompare()方法,比較兩個字符串的先后順序,可用於判斷中文,該比較基於本地區域設置的字符順序(
使用底層操作系統提供的排序規則,
大部分字符集都不是用拼音排序的,可用性不高,GB2312一級漢字庫按拼音排序);
如:a.localeCompare(b)
如果當前字符串對象排在b之前,則localeCompare()返回 -1;如果當前字符串排在b之后,則返回 1;如果兩個字符串相等,則返回 0
使用sort()、localeCompare()進行中文數組首字母的排序
<html>
<body>
<script type="text/javascript">
function compareFunction(a,b){
return a.localeCompare(b);
}
resultValue=[ '武漢' , '告訴' , '但是' , '放開','安卓','測試' ] ;
resultValue.sort(compareFunction);
</script>
</body>
</html>
博客:http://www.cnblogs.com/alex-web/
注:小瘋紙的yy