開篇介紹--由於最近無暇整理編寫內容比較豐富的博文,因此想着是否是能夠把平時見到或者用到的一些開發小技巧分享給你們。文章大概構成是場景+代碼+解釋,但願對你們有所幫助~小程序
不知道你們平時有沒遇到過要判斷版本號的需求,假設有這樣一個場景,咱們須要在H5或者小程序中判斷微信客戶端的版本號,不一樣版本的微信顯示不同的UI或者執行不一樣的邏輯。數組
targetVersion是咱們可以取到的當前的版本號,baseVersion是咱們的「標尺」版本。 在函數的開頭,固然是要校驗一下入參,避免因傳參問題致使程序崩潰的尷尬情況。微信
整個判斷的核心是版本號分解以及逐級比較,將入參的字符串經過split方法分解成數組,而後進行同位比較。函數
比較的方式肯定了,可是比較的順序應該是怎樣的呢?在這個函數中不一樣的比較順序決定整個流程的複雜程度。在此,我的推崇從頭開始比較,也就是從版本號的首位開始。cdn
故將i設爲0,進入while循環中,咱們首要比較的就是tList[0]與bList[0]這兩個數字的大小,若是在此tList的數字要更大,咱們則徹底能夠不用繼續比較下面的數字,能夠直接得出targetVersion版本較高的結論。blog
反之,若是tList的數值小於bList則能夠得出相反的結論,假若兩個數字相等,則進入下一位的比較,直到所有比較完成。最終return出咱們的比較結果,供外部使用。開發