码迷,mamicode.com
首页 > 编程语言 > 详细

js中文首字母排序(一)

时间:2015-11-08 23:56:15      阅读:652      评论:0      收藏:0      [点我收藏+]

标签:

 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>
        
        
 
 
 
 

js中文首字母排序(一)

标签:

原文地址:http://www.cnblogs.com/alex-web/p/4948607.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!