我有一个二维数组:
arr = [
["John", 17],
["John", 17],
["Abe", 14],
["Kobian", 18],
["Hony", 16],
["Mony", 19],
["John", 18],
["Hari", 15],
]
我想查看独特的结果并按字母顺序排序,以免重复相同的名称。如果名称不同且年龄相同,则选择一个不重复且年龄较小的。
我工作了很多,但没有找到如何解决它...提前感谢您的答案...
arr.group_by {|e| e[0] }.map {|k,v| v.min}.sort
=> [["Abe", 14], ["Hari", 15], ["Hony", 16], ["John", 17], ["Kobian", 18], ["Mony", 19]]
并保持不同的年龄:
require 'set'
Set.new(arr).sort
=> [["Abe", 14], ["Hari", 15], ["Hony", 16], ["John", 17], ["John", 18], ["Kobian", 18], ["Mony", 19]]