分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

JS 实现版本号比较功能

发布时间:2023-09-06 01:41责任编辑:赖小花关键词:暂无标签

js实现一个客户端版本号的统计,目前该功能可以实现版本号中数字版本的统计,例如2.2.3 <2.2.3.1, 1.2.3<2.0.0,原理就是从高版本号到次版本号依次比较

 1 if (!Array.prototype.trim){ 2 ????????????????Array.prototype.trim=function(){ 3 ????????????????????var ?arr=[]; 4 ????????????????????this.forEach(function(e){ 5 ????????????????????????if(e.match(/\S+/)) ?arr.push(e); 6 ????????????????????}) 7 ????????????????????return arr; 8 ????????????????} 9 ????????????}10 11 function version_compare(a,b) {12 ????????????????????????????????var a_str=a.name.toString();13 ????????????????????????????????var a_version=a_str.split(/\D+/).trim();14 ????????????????????????????????var b_str=b.name.toString();15 ????????????????????????????????var b_version=b_str.split(/\D+/).trim();16 17 ????????????????????????????????var aLength = a_version.length;18 ????????????????????????????????var bLength = b_version.length;19 ????????????????????????????????var minL = Math.min(aLength,bLength);20 ????????????????????????????????????var r = null21 ????????????????????????????????????for (var i = 0; i < minL; i++) {22 ???????????????????????????????????????//此处要转成Number类型,不然比较会出现15<6的情况,可能由于正则匹配造成的,还没有详细探究原因23 ????????????????????????????????????????var aNum = new Number(a_version[i]);24 ????????????????????????????????????????var bNum = new Number(b_version[i]);25 ????????????????????????????????????????if (aNum < bNum) {26 ????????????????????????????????????????????r = 127 ????????????????????????????????????????????break;28 29 ????????????????????????????????????????} else if (aNum >bNum) {30 ????????????????????????????????????????????r = -1;31 ????????????????????????????????????????????break;32 ????????????????????????????????????????} else if (i == minL-1 && aNum == bNum) {33 34 ????????????????????????????????????????????if(aLength>minL){35 ????????????????????????????????????????????????r = 1;36 ????????????????????????????????????????????????break;37 ????????????????????????????????????????????}else if(bLength>minL) {38 ????????????????????????????????????????????????r = -1;39 ????????????????????????????????????????????????break;40 ????????????????????????????????????????????}41 ????????????????????????????????????????}42 43 ????????????????????????????????????}44 ????????????????????????????????return r;45 ????????????????????????????????}

JS 实现版本号比较功能

原文地址:https://www.cnblogs.com/gl-developer/p/8417003.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved