Sort version-dotted number strings in Javascript?

前端 未结 14 1734
栀梦
栀梦 2020-12-05 15:01

I have an array of following strings:

[\'5.5.1\', \'4.21.0\', \'4.22.0\', \'6.1.0\', \'5.1.0\', \'4.5.0\'] 

...etc.

I need a soluti

14条回答
  •  温柔的废话
    2020-12-05 15:39

    const arr = ["5.1.1","5.1.12","5.1.2","3.7.6","2.11.4","4.8.5","4.8.4","2.10.4"];
    const sorted = arr.sort((a,b) => {
      const ba = b.split('.');
      const d = a.split('.').map((a1,i)=>a1-ba[i]);
      return d[0] ? d[0] : d[1] ? d[1] : d[2]
    });
    
    console.log(sorted);

提交回复
热议问题