【发布时间】:2019-10-08 17:12:29
【问题描述】:
所以我在网上四处寻找 js 中的一些排序功能。这是问题所在。 我们有一个这样的字符串数组:
['único', 'UNICO', 'árbol', 'ARBOL', 'cosas', 'COSAS', 'fútbol', 'FUTBOL']
我们想要这样的东西(大写优先):
['ARBOL', 'COSAS', 'FUTBOL', 'UNICO', 'árbol', 'cosas', 'fútbol', 'único']
或者像这样(小写优先):
['árbol', 'cosas', 'fútbol', 'único', 'ARBOL', 'COSAS', 'FUTBOL', 'UNICO']
问题是:得到这个真的很容易:
['ARBOL', 'COSAS', 'FUTBOL', 'UNICO', 'cosas', 'fútbol', 'árbol','único']
使用.sort(); 函数,但我们不希望最后的重音词,所以我们使用
.sort(function(a, b) {
return a.localCompare(b);
});
但我们最终得到了这个......
['ARBOL', 'árbol', 'COSAS', 'cosas', 'FUTBOL', 'fútbol', 'UNICO', 'único']
你们知道如何将两者结合起来吗?
【问题讨论】:
-
查看 MDN sort & localeCompare 文档,localeCompare 中有很多额外的参数
-
@FrV 我怀疑
localeCompare是否可行,请参阅stackoverflow.com/questions/54975581/… -
混合大小写的字符串呢?
-
对不起@MattEllen,我意识到我发布后并不清楚,区别应该是小写和大写的反转。我想我应该尝试编辑原始帖子
-
@AaronC。谢谢!这是有道理的:D
标签: javascript arrays string sorting