我知道一个事实,您可以使用方法'localeCompare'对具有您自己的本地化的数组进行排序,如下所示:
aArray.sort(function(a,b){return a.localeCompare(b)});
但是,我认为我的瑞典站点中的大多数(几乎所有)访问者都能理解瑞典语,因此,无论他/她当前使用的是哪种“区域设置”,他们都希望获得瑞典语排序。
(我认为现在有些人会倾向于对此假设进行辩论,但我真的认为与理解瑞典语字母的人相比,了解瑞典语但当前使用其他语言环境的人数会更多。希望“å”和“ä”与“a”等价排序,而“ö”与“o”等价排序。
我只是真的希望对的最后三个瑞典字母“åäö”始终按该顺序进行排序,无论浏览器或操作系统的如何,都应按此顺序排序,无论它定义了方法“localeCompare”使用的“locale”)
一种解决方案可能是在调用方法“localeCompare”时以编程方式强制使用“语言环境”,但据我所知这是不可能的。
(尽管实际上可行,但是如何更改语言环境?)
对于所有瑞典javascript程序员来说,这种排序问题应该是相当普遍的,但是我仍然无法通过使用瑞典字符串比较方法的实现来找到任何开放源代码库。
这里有没有人知道这样的库(与sort方法一起使用时实现良好的性能)可以重用而不是自己尝试实现?
最佳答案
JavaScript Internationalization API可以满足您的需求。我引用的页面上有一些用法示例。不幸的是,它尚未得到浏览器的广泛支持。