1.现在存在一组版本号,[1.1.4-60_dev, 1.1.4-60_rel, 1.1.4-70_dev,1.0.4-4_dev, 1.1.5-1_dev],怎么对这个版本号进行排序,实现最后排序的结果为[1.1.5-1_dev,1.1.4-70_dev, 1.1.4-60_rel,1.1.4-60_dev,1.0.4-4_dev];不知道各位大神有什么好的实现方法?
1.现在存在一组版本号,[1.1.4-60_dev, 1.1.4-60_rel, 1.1.4-70_dev,1.0.4-4_dev, 1.1.5-1_dev],怎么对这个版本号进行排序,实现最后排序的结果为[1.1.5-1_dev,1.1.4-70_dev, 1.1.4-60_rel,1.1.4-60_dev,1.0.4-4_dev];不知道各位大神有什么好的实现方法?
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
把版本号里的数字进行权重相加,然后再排序。
进行权重后的相加,主要是考虑
1.1.10
应当比1.1.5
要大,如果按照纯字符串比较的话,那么就会得到相反的结果。在给到的例子里,如
1.1.4-60_dev
,这里一共有4个数字,有1,1,4,60,权重分别是10000, 100, 1, 0.001,即然后按照按照得到之后的结果进行排序即可!如果数字相同的,再按照最后的英文版本排序!