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

Javascript
javascript事件问题
jquery tools 系列 scrollable学习
Javascript中的var_dump函数实现代码
javascript 获取select下拉列表值的代码
JS 网页彩蛋 实现代码
javascript 定义初始化数组函数
Javascript 阻止浏览器默认操作的实现代码
Javascript 检测、添加、移除样式(className)函数代码
Javascript String.replace的妙用
用 Javascript 验证表单(form)中多选框(checkbox)值
用 Javascript 验证表单(form)中的单选(radio)值
Javascript 获取滚动条位置等信息的函数
用Javascript 和 CSS 实现脚注(Footnote)效果
禁止JQuery中的load方法装载IE缓存中文件的方法
jquery 简单导航实现代码
JS 日期验证正则附asp日期格式化函数
javascript 一些用法小结
关于javascript 回调函数中变量作用域的讨论
一个简单的JavaScript 日期计算算法
javascript 基础简介 适合新手学习

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 422 ::
收藏到网摘: 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 方法是在当前区域中进行比较的,即比较的环境为当前操作系统设置的地理区域,比如数字、货币、日期时间等的表现方式(在“控制面板”中可以查看修改),如果设置排序的方式为笔划,那上面的结果则为:人,中,民,共,华,和,国(笔划升序)。