js中文首字母排序(一)

时间:2023-01-31 08:04:30
 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