Created
January 31, 2014 20:20
-
-
Save danlynn/8742252 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Takes two version numbers with multiple decimal points (e.g. '7.0.3') and | |
* returns true if the first one is greater than or equal to the second. | |
* | |
* @param v1 version that should be greater than or equal | |
* @param v2 version that should be less than or equal | |
* @returns {boolean} true if 'v1' >= 'v2' | |
*/ | |
function is_version_gte(v1, v2) { | |
var v1_parts = (v1 || 0).toString().split('.').map(function(s) {return parseInt(s)}); | |
var v2_parts = (v2 || 0).toString().split('.').map(function(s) {return parseInt(s)}); | |
for (var i = 0; i < v1_parts.length || i < v2_parts.length; ++i) { | |
v1_parts[i] = v1_parts[i] || 0; | |
v2_parts[i] = v2_parts[i] || 0; | |
if (v1_parts[i] != v2_parts[i]) | |
return v1_parts[i] > v2_parts[i]; | |
} | |
return true; // all equal | |
} | |
/** | |
* Takes two version numbers with multiple decimal points (e.g. 7.0.3) and | |
* returns true if the first one is greater than or equal to the second. | |
* @param v1 | |
* @param v2 | |
* @returns {boolean} | |
*/ | |
function is_version_gte(v1, v2) { | |
v1 = v1 || 0; | |
v2 = v2 || 0; | |
var v1 = v1.toString(); | |
var v2 = v2.toString(); | |
var v1_parts = v1.split('.'); | |
var v2_parts = v2.split('.'); | |
for (var i = 0; i < v1_parts.length; ++i) { | |
if (v2_parts.length == i) { | |
return true; | |
} | |
if (v1_parts[i] == v2_parts[i]) { | |
continue; | |
} | |
else if (v1_parts[i] > v2_parts[i]) { | |
return true; | |
} | |
else { | |
return false; | |
} | |
} | |
if (v1_parts.length != v2_parts.length) { | |
return false; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment