如何在Javascript中将长版本号作为整数传递?
我在Jasmine中编写单元测试,我想传递一个应用程序版本号来断言,但是当我尝试传递4.0.2
这样的整数时,测试失败。
似乎整数可能不会超过一个小数。如何解决这个问题?你必须做某种转换吗?
答案 0 :(得分:1)
正如评论所指出的,4.0.2不是整数...
无论如何,在此之后:How to do version numbers?,版本号通常更多是一个简单的整数。
通常做的是拥有一个保存版本号的结构:
var currentVersion = {
major : 4,
minor: 0,
release: 2,
// build : undefined
};
这可以使用split函数从字符串"4.0.2"
构建:
(function(outputVersion, inputString) {
"use strict";
var splitted = myString.split('.');
outputVersion.major = splitted.length > 0 ? splitted[0]: undefined;
outputVersion.minor = splitted.length > 1 ? splitted[1]: undefined;
// so on for other properties
}(window.applicationVersion, myString));
请注意,上面的代码只是一个示例,而不是它应该完成的方式,这一切都取决于您的应用程序代码。特别是,您可能希望将版本一起比较,这意味着您将需要基于词典顺序的比较函数:How to compare software version number using js? (only number)