原文来自:风微柳细

原来的方法是用个大中文字数组,一个个比较,:(

以下为引用内容:

更新[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+)的浏览器中均得到了支持。


默认排序结果:

汉字拼音顺序排序结果:

运行代码 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]