// Return 1 if a > b
// Return -1 if a < b
// Return 0 if a == b
functioncompare(a,b){if(a===b){return0;}vara_components=a.split(".");varb_components=b.split(".");varlen=Math.min(a_components.length,b_components.length);// loop while the components are equal
for(vari=0;i<len;i++){// A bigger than B
if(parseInt(a_components[i])>parseInt(b_components[i])){return1;}// B bigger than A
if(parseInt(a_components[i])<parseInt(b_components[i])){return-1;}}// If one's a prefix of the other, the longer one is greater.
if(a_components.length>b_components.length){return1;}if(a_components.length<b_components.length){return-1;}// Otherwise they are the same.
return0;}