我知道您可以使用方法“ localeCompare ”对具有您自己的本地化的数组进行排序,如下所示:
aArray.sort(function(a,b){return a.localeCompare(b)});
但是,我假设我的瑞典语网站的大多数(几乎所有)访问者都了解瑞典语,因此无论他/她当前使用的是哪个“语言环境”,他们都会期望瑞典语排序。
(我认为现在有些人会很想就这个假设争论,但我真的认为理解瑞典语但目前使用其他语言环境的人会比不知道瑞典语字母表的人多会期望“å”和“ä”与“a”和“ö”等价排序与“o”等价。我真的希望最后三个瑞典字母“åäö”始终按该顺序排序,不管浏览器或操作系统,无论是什么定义了方法“ localeCompare ”使用的“语言环境”)
一种解决方案可能是以编程方式强制执行调用方法“localeCompare”时使用的“语言环境”,但据我所知,这是不可能的。(虽然如果它真的是可能的,那么你如何改变语言环境?)
这个排序问题对所有瑞典 javascript 程序员来说应该是相当普遍的,但我仍然无法找到任何开源库,其中实现了瑞典字符串的比较方法。这里有没有人知道这样一个库(与 sort 方法一起使用时具有良好的性能)来重用而不是尝试自己实现它?