【发布时间】:2016-10-18 13:00:19
【问题描述】:
我想在 javascript 中对一组法语、德语、波兰语、中文等单词进行排序。
因此,我使用此处所述的 localeCompare() 方法:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
在这支笔中你可以看到法语例子:http://codepen.io/anon/pen/wWWYoy?editors=1111
左边是它应该是的顺序 - 右边是浏览器生成的顺序。
德语字母的相同示例:http://codepen.io/anon/pen/ezzPWa
function frsort(a, b) {
return a.localeCompare(b);
}
我只是使用没有语言环境或选项参数的 localeCompare,因为很少有浏览器支持它们 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare)
但是,developers.mozilla.org 上写着:
Android - 基本支持(是)
即使在 Android 4.0.4 上使用 Android 浏览器排序完全错误。 Android 4.0.4 上的 Chrome 排序正确。
我的代码中是否有任何错误,或者任何解释 Stock Android 浏览器为什么排序错误的原因?
【问题讨论】:
-
MDN 并不完美。它也是一个 wiki,因此您可以为发现问题的实现添加注释。
标签: javascript android sorting locale