js中文首字母排序(一)


 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

        
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM