当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript 给汉字排序实例代码

Javascript
javascript form 验证函数 弹出对话框形式
IE JS编程需注意的内存释放问题
JQuery 无废话系列教程(二) jquery实战篇上
一些常用的JS功能函数代码
一个很酷的拖动层的js类,兼容IE及Firefox
JavaScript 开发中规范性的一点感想
javascript 连连看代码出炉
javascript 读取图片文件的大小
JQuery 国际象棋棋盘 实现代码
javascript 可以拖动的DIV(二)
[原创]javascript 改变字体大小方法集合
javascript 变量作用域 代码分析
js AspxButton的客户端操作
event对象的方法 兼容多浏览器
Javascript 阻止javascript事件冒泡,获取控件ID值
Javascript 函数对象的多重身份
javawscript 三级菜单的实现原理
js 跨域和ajax 跨域问题小结
JavaScript XML操作 封装类
通用的二级菜单代码(css+javascript)

Javascript 中的 JavaScript 给汉字排序实例代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 383 ::
收藏到网摘: n/a

数组的 sort 方法默认字符的编码排序,有时候要给一组汉字排序,默认的方法就不适用了。 比如 var arr = ["中","华","人","民","共","和","国"],在执行 sort 方法后结果为 :中,人,共,华,和,国,民,既不是拼音也不是笔划数量的排序。
以前很少留意过 localeCompare 方法,手册中说它执行时返回一个值,指出在当前的区域设置中两个字符串是否相同。返回值有三种:-1,0,1,刚好是 sort 方法参数所需要的类型。把 localeCompare 应用到 sort 方法中去,看看结果:
var arr = ["中","华","人","民","共","和","国"];
alert(arr.sort(function(a,b){return a.localeCompare(b)}));//结果为:共,国,和,华,民,人,中(拼音升序)
注意到 localeCompare 方法是在当前区域中进行比较的,即比较的环境为当前操作系统设置的地理区域,比如数字、货币、日期时间等的表现方式(在“控制面板”中可以查看修改),如果设置排序的方式为笔划,那上面的结果则为:人,中,民,共,华,和,国(笔划升序)。