鍍金池/ 問答/數(shù)據(jù)分析&挖掘  HTML/ js判斷對多個版本號進行排序怎么做?

js判斷對多個版本號進行排序怎么做?

1.例如現(xiàn)在存在一組版本號,['0.1.1', '2.3.3', '0.3002.1', '4.2', '4.3.5', '4.3.4.5'],怎么對這個版本號進行排序,實現(xiàn)最后排序的結(jié)果為['4.3.5','4.3.4.5','2.3.3','0.3002.1','0.1.1'];不知道各位大神有什么好的實現(xiàn)方法?

回答
編輯回答
情已空
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 k = 0
    for (let i in items1) {
      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)
2018年8月10日 04:50
編輯回答
爆扎
var arr=['0.1.1', '2.3.3', '0.3002.1', '4.2', '4.3.5', '4.3.4.5'];
    arr.sort(function(a,b){
        return a>b?-1:1;
    });
    console.log(arr);
2018年5月27日 00:29