【发布时间】:2015-12-21 03:05:16
【问题描述】:
我有以下字符串数组:
x = ["1.2", "1.1", "1.18", "1.18.3", "1.4", "1.18.20", "2.5"]
Ruby 的数组排序方法是按字母顺序对字符串进行排序,结果如下:
[
[0] "1.1",
[1] "1.18",
[2] "1.18.20",
[3] "1.18.3",
[4] "1.2",
[5] "1.4",
[6] "2.5",
]
我想根据每个小数内的数值对该数组进行排序,使其返回以下顺序:
[
[0] "1.1",
[1] "1.2",
[2] "1.4",
[3] "1.18",
[4] "1.18.3",
[5] "1.18.20",
[6] "2.5"
]
我也不能保证每个“ID”中的小数位数。 任何帮助将不胜感激。谢谢!
【问题讨论】:
-
在每个值中,您可以在“.”上使用拆分。将它们转换为数组,并将映射转换为整数,整数数组的数组将按照您需要的方式排序。
-
是的,它是重复的。我看到@SergioTulentsev 有一个很好的答案。
-
这个问题唯一不同的是,小数点的个数不能保证。但是另一个问题的答案是相同的,并且不限于“#.#.#”格式。
标签: ruby string sorting integer