前端练习06 版本号排序

本文介绍了如何在前端实现版本号从小到大的排序。通过解析版本号为数组并使用选择排序,结合递归比较实现正确排序。在实现过程中,特别处理了版本号相等情况,确保排序逻辑的准确性。参考了廖雪峰的官方网站和SegmentFault的相关讨论。
摘要由CSDN通过智能技术生成

题目(2018-11-21)

有一个项目,由于多人维护,导致版本号规则,例如:

const version = ['1.45.0', '1.5', '6', '3.3.3.3.3']

现在需要对版本号进行从小到大排序,注意: 1.45.0是大于1.5

实现

直接用sort函数比较是不行的,sort函数在比较字符串的时候,是比较字符串的Unicode进行排序的:

'1' < '2'; // true
'1' < '10'; // false

显然是行不通的

我的思路是,先将version数组成员通过split('.')拆分成一个个数组

const version = ['1.45.0', '1.5', '6', '3.3.3.3.3'];
const temp = [[1, 45, 0], [1, 5], [6], [3, 3, 3]]

在排序的过程中,分为两层,外层的核心是利用选择排序,选择排序过程中进行数值比较时,比较的成员仍然是两个数组:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值