我在 javascript 中有 2 个字符串,其中包含代表文件版本的数字。
IE
var str1 = "11.11.1111.1111"
var str2 = "11.22.3333.5555"
我如何在它们之间进行数字比较?我想检查是否str1 > str2
我在 javascript 中有 2 个字符串,其中包含代表文件版本的数字。
IE
var str1 = "11.11.1111.1111"
var str2 = "11.22.3333.5555"
我如何在它们之间进行数字比较?我想检查是否str1 > str2
只要保证 str1 和 str2 的长度和格式相同,就可以str1 > str2
. 字符串比较是按字典顺序进行的(比较两者的第一个字符,两者的第二个字符......并返回第一个差异的值),并且对于两个长度相等的数字/类似数字的字符串,可以准确地为您提供所需的内容。
如果不能保证它们相同,请尝试拆分ting by .
,将每个字符串部分转换为 int并逐个比较它们,直到找到差异。
你可以去:
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