RT
注:
1.网上看到的很多大部分是说用a.sort(function(a,b){return a.localeCompare(b)});//汉字拼音排序方法
2.但事实上,如一位网友所说,localeCompare函数并不可靠,所有的帖子基本上都是以讹传讹,换句话说,localeCompare函数根本就不能对中文字符串数组进行排序
阿三4,曾,龚,李四2,王五3,张,张三1
曾是多音字,也念ceng
你说不可靠是怎么个不可靠?不是能正确排序吗。。
var a = ['你好','a','总过','伦敦'];
a.sort(function (a, b) { return a.localeCompare(b) });
console.log(a)//["a", "伦敦", "你好", "总过"]
例如,下面的代码的排序结果是:
张三1,李四2,王五3,阿三4,曾,龚,张
阿三4,曾,龚,李四2,王五3,张,张三1 //显然排序之后是错误的
<script type="text/javascript">
var arr = ["张三1","李四2","王五3","阿三4","曾","龚","张"];
document.write(arr+"<br/>");
arr.sort(function(a,b){
return a.localeCompare(b);
});
document.write(arr);
</script>
这里有详细解释
http://bbs.csdn.net/topics/350060668
用老外的东西排中文顺序本来就不靠谱。你可以找个专门的jar包解决问题。