如何判断版本号(Lab小技巧-001)

开篇介绍--因为最近无暇整理编写内容比较丰富的博文,所以想着是不是可以把平时见到或者用到的一些开发小技巧分享给大家。文章大概构成是场景+代码+解释,希望对大家有所帮助~

不知道大家平时有没遇到过要判断版本号的需求,假设有这样一个场景,我们需要在H5或者小程序中判断微信客户端的版本号,不同版本的微信显示不一样的UI或者执行不同的逻辑。

targetVersion是我们能够取到的当前的版本号,baseVersion是我们的“标尺”版本。 在函数的开头,当然是要校验一下入参,避免因传参问题导致程序崩溃的尴尬状况。

整个判断的核心是版本号分解以及逐级比较,将入参的字符串通过split方法分解成数组,然后进行同位比较

比较的方式确定了,但是比较的顺序应该是怎样的呢?在这个函数中不同的比较顺序决定整个流程的复杂程度。在此,个人推崇从头开始比较,也就是从版本号的首位开始。

故将i设为0,进入while循环中,我们首要比较的就是tList[0]与bList[0]这两个数字的大小,如果在此tList的数字要更大,我们则完全可以不用继续比较下面的数字,可以直接得出targetVersion版本较高的结论。

反之,如果tList的数值小于bList则可以得出相反的结论,倘若两个数字相等,则进入下一位的比较,直到全部比较完成。最终return出我们的比较结果,供外部使用。

转载于:https://juejin.im/post/5ca8863751882543ea4b8ec3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值