1

我在 javascript 中有 2 个字符串,其中包含代表文件版本的数字。

IE

var str1 = "11.11.1111.1111"
var str2 = "11.22.3333.5555"

我如何在它们之间进行数字比较?我想检查是否str1 > str2

4

2 回答 2

5

只要保证 str1 和 str2 的长度和格式相同,就可以str1 > str2. 字符串比较是按字典顺序进行的(比较两者的第一个字符,两者的第二个字符......并返回第一个差异的值),并且对于两个长度相等的数字/类似数字的字符串,可以准确地为您提供所需的内容。

如果不能保证它们相同,请尝试拆分ting by .将每个字符串部分转换为 int并逐个比较它们,直到找到差异。

于 2013-06-06T06:16:44.883 回答
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 
于 2013-06-06T06:34:52.400 回答