javascript 中文排序

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用localeCompare实现中文排序</title>
<script language="javascript" type="text/javascript">
var a="aa,cc,bb,dd,啊啊,层次,宝贝,低调";
function defaultSort(){
    b=a.split(",");
    b.sort();
    document.getElementById("out1").innerHTML="默认排序的结果:"+b;
}
function cusSort(){
    c=a.split(",");
    c.sort(function(e,f){
      return e.localeCompare(f);
    });
    document.getElementById("out2").innerHTML="拼音排序的结果:"+c;
}
</script>
</head>
<body>
<a href="javascript:void(0);" οnclick="defaultSort();">默认排序</a><br>
<a href="javascript:void(0);" οnclick="cusSort();">拼音排序</a>


原字符串:
"aa,cc,bb,dd,啊啊,层次,宝贝,低调";


排序后:
<div id="out1"></div>
<div id="out2"></div>



<pre>
PS:
JavaScript中localeCompare函数方法是返回一个值,指出在当前的区域设置中两个字符串是否相同。使用方法:
stringVar.localeCompare(stringExp)
其中stringVar是必选项。一个 String 对象后文字。
stringExp是必选项。将与 stringVar 进行比较的字符串。

localeCompare 可以对 stringVar 和 stringExp 进行一个区分区域设置的字符串比较并返回 –1、0 或 +1,
这取决于系统中缺省区域设置的排序。如果 stringVar 排序在 stringExp 之前,那么 localeCompare 返回 –1;
如果 stringVar 排序在 stringExp 之后,则返回 +1。如果返回值为 0,那就说明这两个字符串是相同的。
</pre>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值