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

        
 
 
 
 

转载于:https://www.cnblogs.com/alex-web/p/4948607.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值