我在javascript中有2个字符串,其中包含代表文件版本的数字。
即
var str1 = "11.11.1111.1111"
var str2 = "11.22.3333.5555"
我如何在它们之间进行数值比较?
我想检查一下str1 > str2
答案 0 :(得分:5)
只要str1和str2保证长度和格式相同,就行str1 > str2
。字符串比较是词典编纂(比较两者的第一个字符,两者的第二个字符......并返回第一个差异的值),以及两个相等长度的数字/数字字符串,它们可以提供您想要的内容。 / p>
如果不能保证它们相同,请.
split converting each string part to int {{3}}并逐个进行比较,直到找到差异为止。
答案 1 :(得分:1)
你可以去:
var str1 = '11.11.1111.1111'
,str2 = '11.22.3333.5555'
,compare = str1.split('.')
.map(function(a) {
return +a > +(this.splice(0,1));
},
str2.split('.'))
.reduce(function(a,b){return a||b;});
//=> compare now: false