谈笑有鸿儒,往来无白丁

在恰当的时间、地点以恰当的方式表达给恰当的人...  阅读的时候请注意分类,佛曰我日里面是谈笑文章,其他是各个分类的文章,积极的热情投入到写博的队伍中来,支持blogjava做大做强!向dudu站长致敬>> > 我的微博敬请收听
javascript中文排序
  原文来自:风微柳细
原来的方法是用个大中文字数组,一个个比较,:(

以下为引用内容:
更新[2005.10.06]:
JavaScript提供了一种更简便的方法用于比较两个字符串——localeCompare(),localeCompare()使用本地特定的顺序来比较两个字符串,语法如下:
string.localeCompare(target)
参数target是要与string进行比较的字符串。
如果string小于target,则localeCompare()返回小于0的数;
如果string大于target,返回大于0的数;
如果相等(或按照本地顺序的约定两者顺序相当),则返回0。
利用该方法替换上面冗长的作法后,除了代码减少了之外,运行速度也快了不少,而且还支持其它字符库的本地排序。
修改后代码如下:

该方法目前已作为ECMAScript v3标准,在支持JavaScript 1.5(Mozilla、Netscape 6+)以及JScript 5.5(IE 5.5+)的浏览器中均得到了支持。

代码如下:

<script type="text/javascript">
<!--
     function startSort(){
          var a=document.getElementById('s').value;
          a=a.split(',')
          a.sort();
          document.getElementById('r1').value=a;
          a.sort(function(a,b){return a.localeCompare(b)});
          document.getElementById('r2').value=a;
     }
         
//-->
</script>
<p>包含汉字的字符串数组(用逗号","隔开):<br />
<textarea id="s" style="width: 100%; overflow: scroll; word-wrap: normal;" rows="10">张韶涵,b土,abort,张学友,something,苹果,五月天,刘德华,香蕉,apple,范玮琪,阿桑</textarea></p>

<p style="text-align: center"><input type="button" value="排序测试" onclick="startSort()" style="width: 300px" /></p>

<p>默认排序结果:<br />
<textarea id="r1" style="width: 100%; overflow: scroll; word-wrap: normal;" rows="10"></textarea></p>

<p>汉字拼音顺序排序结果:<br />
<textarea id="r2" style="width: 100%; overflow: scroll; word-wrap: normal;" rows="10"></textarea></p>

posted on 2006-12-19 14:39 坏男孩 阅读(2182) 评论(1)  编辑  收藏 所属分类: java命令学习

FeedBack:
# re: javascript中文排序
2012-05-22 09:28 | 几点睡
养育,虎骨,时候,闪电,都不,度的,撒度,能激发  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: