版本号排序问题

算法思想:将版本号分割成对应的数组,对数组的每一项去进行比较
var arr = ['0.1.1', '2.3.3', '0.3002.1', '4.2', '4.3.5', '4.3.4.5'] arr.sort((a,b)=>{ var items1 = a.split('.') var items2 = b.split('.') var len = Math.max(items1.length, items2.length) var k = 0 for (let i = 0; i < len; i++) { let a1 = items1[i] let b1 = items2[i] if (typeof a1 === 'undefined') { k = -1 break } else if (typeof b1 === 'undefined') { k = 1 break } else { if (a1 === b1) { continue } k = Number(a1) - Number(b1) break } } return k }) console.log(arr)
posted @ 2021-10-23 18:48  浣熊sky  阅读(128)  评论(0)    收藏  举报