如何使用javascript比较字符串“ 17.4.0.50”和“ 3.1.0.114”?

问题描述

我试图比较以下字符串。但我无法获得正确答案。

    var a = "17.4.0.50";
    var b = "3.1.0.114";
    
    if(a>b){
    alert("a is greater than b");
    }
    else{
    alert("b is greater than a");
    }

得到的结果是“ b大于a”。

有人可以帮助我获得正确的结果吗?

预先感谢

解决方法

您似乎正在尝试比较版本。这就是我的建议

//Need to compute the common minimum patch version place
var numPatchIdentifiersArray = new Array();
var aPatches = a.split(".")
var bPatches = b.split(".")

numPatchIdentifiersArray.push(aPatches.length);
numPatchIdentifiersArray.push(bPatches.length);

var minNumPatchIdentifiers = min(numDecimalsArray);

for (var index = 0; index < minNumPatchIdentifiers; index++) {
    if (parseInt(aPatches[index]) > parseInt(bPatches[index])) {
        console.log("a > b");
        break;
    } else if (parseInt(aPatches[index]) < parseInt(bPatches[index])) {
        console.log("a < b");
        break;
    } 
}