我有一个字符串版本号的数组,我想排序,但不能为我的生活让他们按我想要的方式排序:
versions = [ "1.0.4", "1.0.6", "1.0.11", "1.1.9", "1.1.10", "1.0.16" ]
versions.sort_by {|v| [v.size]}
=> ["1.0.4", "1.0.6", "1.1.9", "1.0.11", "1.1.10", "1.0.16"]
Run Code Online (Sandbox Code Playgroud)
试图实现:
=> ["1.0.4", "1.0.6", "1.0.11", "1.0.16", "1.1.9", "1.1.10"]
Run Code Online (Sandbox Code Playgroud)
它似乎与词典编排有关,但我很难制定出我需要应用的排序规则.
任何帮助或正确方向的一点将不胜感激.
Ser*_*sev 13
versions = [ "1.0.4", "1.0.6", "1.0.11", "1.1.9", "1.1.10", "1.0.16" ]
sorted = versions.sort_by {|s| s.split('.').map(&:to_i) }
sorted # => ["1.0.4", "1.0.6", "1.0.11", "1.0.16", "1.1.9", "1.1.10"]
Run Code Online (Sandbox Code Playgroud)
它的作用是将字符串拆分为组件并以数字方式对其进行比较.
| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |