现在有个需求。
有个数组:
["jack", "tom", "alice", "mike" ]
需求如下:
我想让这个数组中的其中一个排在 top,其他按字母排序。
例如:
我想让 "mike"排第一个,其他按字母排序。mike 是可变参数。 结果如下:
["mike", "alice", "jack", "tom" ]
我想可否通过 Array 的 sort 方法,一行简单代码的搞定? 我试了写了下,搞不定。
有大神帮忙不?
相似度排序,可以看看这个算法 Levenshtein distance
Ruby 有实现:https://github.com/anjlab/rubyfish
array = ["jack", "tom", "alice", "mike" ]
top = "mike"
array.reject{|i| i==top}.sort.unshift(top)