Javascript 排序问题
我们买了个web表格控件, 点击表头可以排序的, 对于英文没问题, 是按照英文字母顺序排的, 但是中文就乱了. 不按拼音顺序, 也不按笔画顺序.
后来在网上找了一下, 发现Javascript的sort方法对于中文是按照内码来排的.
如果想让其按拼音来排, 需要用localCompare
原始顺序是: 猪zhu-1,我wo-2,啊a-3,你ni-4,他ta-5,地di-6
Javascript本身的sort排序后是: 他ta-5,你ni-4,啊a-3,地di-6,我wo-2,猪zhu-1
按照拼音排序结果是: 啊a-3,地di-6,你ni-4,他ta-5,我wo-2,猪zhu-1
具体请看代码
function mysort() {
var s = "猪zhu-1,我wo-2,啊a-3,你ni-4,他ta-5,地di-6";
alert("The original is:\n" + s);
var a = s.split(",");
a.sort();
alert("This is wrong:\n" + a);
a.sort(function(c1, c2) {
return c1.localeCompare(c2);
});
alert("This is right:\n" + a);
}
- ← Previous
Compact Calendar 2009 中国版 - Next →
TP-Link路由器可以用tracert命令了