我有一个字符串数组:
arr = ["2.1", "2.2", "2.2.1", "2.2.10", "2.2.2", "2.10"]
如果我使用arr.sort
,结果是:
["2.1", "2.10", "2.2", "2.2.1", "2.2.10", "2.2.2"]
我需要:
["2.1", "2.2", "2.2.1", "2.2.2", "2.2.10", "2.10"]
如何正确排序?
问题2:
如何对“2.1a”或“0.9b”等“alpha”或“beta”类型的字符进行排序
问题 3:
如果我有一个字段类型为字符串的活动记录数组,其中包含这样的数字,那么在模型中设置是否default_scope :order => ...
真实sort_by{|a| a.split('.').map &:to_i }
或者
在模型中创建我的方法,例如
def my_sort
#sorting
end
为了这:
Block.all.my_sort