本文主要包含java的重写,重写肆意人生,重载和重写的区别,零号特工重写版,重写入党志愿书等相关知识,教程希望在学习及工作中可以帮助到您
");
</div>
hello h5+版本在线升级提供了如下的版本比较方法,逻辑比较繁琐,相关判断多余,非常不宜读。
先判断新旧版本有无,
接着分割为数组比较数组项大小,而且还只取了前四项
并且在内部再去比较数组长度,
最后重新在比较一次数组长度
四层逻辑还有一层嵌套,完全没必要
先判断新旧版本有无,
接着分割为数组比较数组项大小,而且还只取了前四项
并且在内部再去比较数组长度,
最后重新在比较一次数组长度
四层逻辑还有一层嵌套,完全没必要
- /**
- * 比较版本大小,如果新版本nv大于旧版本ov则返回true,否则返回false
- * @param {String} ov
- * @param {String} nv
- * @return {Boolean}
- */
- var compareVersion = function(ov, nv) {
- if (!ov || !nv || ov == "" || nv == "") {
- return false;
- }
- var b = false,
- ova = ov.split(".", 4),
- nva = nv.split(".", 4);
- for (var i = 0; i < ova.length && i < nva.length; i++) {
- var so = ova[i],
- no = parseInt(so),
- sn = nva[i],
- nn = parseInt(sn);
- if (nn > no || sn.length > so.length) {
- return true;
- } else if (nn < no) {
- return false;
- }
- }
- if (nva.length > ova.length && 0 == nv.indexOf(ov)) {
- return true;
- }
- };
下面是重写的方法
首先将版本转化为字符串
然后分割为数组,并去最大的数组长度
比较数组,数组中无此项的置0
这样就可以了,代码量明显减少,逻辑也比较清晰
- /**
- * 比较版本大小,如果新版本nv大于旧版本ov则返回true,否则返回false
- * @param {String} ov
- * @param {String} nv
- * @return {Boolean}
- */
- var compareVersion = function(ov, nv) {
- ov=ov+'';
- nv=nv+'';
- var ova = ov.split("."),
- nva = nv.split(".");
- var maxLength = Math.max(ova.length, nva.length);
- for (var i = 0; i < maxLength; i++) {
- var so = +ova[i] || 0,
- sn = +nva[i] || 0;
- if (sn > so) {
-