zoukankan      html  css  js  c++  java
  • 版本对比

    对比版本:

    判断版本v2是否大于等v1版本,如果大于则返回true,否则返回false

    方法1:

    
    
    // comparedVersion('1.23.3', '2.45.3')

    function
    comparedVersion (a, b) { if (a == b) { return true; } if (!a) { return console.error('没有拿到app版本号') } const aobj = a.split('.'); const bobj = b.split('.'); for (var i = 0; i < 3; i++) { if (bobj[i] * 1 == aobj[i] * 1) { continue; } if (bobj[i] * 1 > aobj[i] * 1) { return true; } else { return false; } } return false; }

    方法2:

    // comparedVersion('1.23.3', '2.45.3')

    function
    comparedVersion(v1, v2) { if (!v1) { return 0; } let maxLen = 0; let firstVersion = v1.split('.'); let lastVersion = v2.split('.'); maxLen = firstVersion.length > lastVersion.length ? firstVersion.length : lastVersion.length; return formatVersion(lastVersion, maxLen) >= formatVersion(firstVersion, maxLen); // 格式化版本(实现思路:将数组所有想都在前面补0,每项补足长度为4,然后拼接成数组,最后转换为数字,数字越大则版本号越大) // 示例:['2', '12', '34'] 格式化为 200120034 // 示例:['12', '2', '34'] 格式化为 1200020034 function formatVersion(versionArray, hierarchy) { let result = ''; let loop = new Array(hierarchy).fill(1); loop.forEach((s, i)=>{ let len = '0000'; if(versionArray[i] && versionArray[i].length < len.length){ result += len.substring(0, len.length - versionArray[i].length) + versionArray[i]; } else { result += len; } console.log(result); }); return Number(result); } }
  • 相关阅读:
    AM3715/DM3730 更改内存大小后kernel boot不起来的解决办法
    xslt转换xml文档&&xslt call java方法
    VSCode 运行go test显示打印日志
    tomcat作为windows服务的参数配置,特别是PermSize的设置
    高亮显示web页表格行
    深入分析 Java 中的中文编码问题
    webwork和spring多配置文件的方法
    Bug笔记:诡异的$.ajax
    C#多态
    委托的本质
  • 原文地址:https://www.cnblogs.com/ayseeing/p/13725151.html
Copyright © 2011-2022 走看看