为什么这不是一个重复:“原始”排序的字符,而不是字符串。我试图排序的字符串。这是一个完全不同的问题,它需要能够排序整个字符串,而不仅仅是一个字符。
我有这个数组:
[
["ik", "p", "I; me", 1],
["pat", "pre", "plus", 1],
["qeol", "adj", "only", 1],
["nei", "adj", "not", 1]
]
字符串
我想按第一项对数组进行排序,并使用自定义字母表,其中q介于n和o之间。
所以,它应该看起来像这样:
[
["ik", "p", "I; me", 1],
["nei", "adj", "not", 1],
["qeol", "adj", "only", 1],
["pat", "pre", "plus", 1]
]
型
我尝试了this,并试图调整它,使q去之间的n和o,但没有工作。
words.sort(function(a, b) {
return a[0].toLowerCase() === "q" && a[0] < "n"? 1: (a[0] > b[0]? 1: -1);
});
型
我只是尝试随机废话,所以当然没有工作
我该怎么做?
2条答案
按热度按时间l5tcr1uw1#
你可以构建一个自定义排序的函数,方法是将一个字符串交给一个排序,直到字符串结束。
个字符
332nm8kg2#
可以通过使用
Map
来建立自定义顺序,该Map
为字母表中的每个字符分配唯一索引。字符串
该索引可以表示
TrueSet
中的每个项(在本例中为数组)。型
瞧!您的物品将根据您的自定义字母表进行排序。
通过以下方式验证建议的解决方案:
型
@ut8pia/classifier库的在线文档提供了对
representation
函数概念的广泛探索。