【js】版本号对比处理方案

今天在处理一个bug问题,适配客户端版本:若版本号未达到,则不可运行该功能,若达到则可运行。

版本号规则如下:(一般统一为2个点,其他的是数字,版本号从高位到低位,首位越大则越大,首位相同则对比下一位...)

版本由低到高:6.10.9
7.9.5
7.10.3
7.21.1

来看下怎么实现。

实现原理:

取出当前版本号,传递目标版本号。将他们分别分割成数组。每个元素进行对比。第一位大的就大,第一位相同就对比下一位...循环。

假设当前版本号为:

调用输出结果:

7.9.5 > 6.10.1

7.9.5 = 7.9.5 (相同也表示满足版本号)

7.9.5 < 7.10.3

7.9.5 < 7.21.1

window.location.href="https://www.bilibili.com/read/cv2422135"

  

原文地址:https://www.cnblogs.com/wuhairui/p/10679566.html

时间: 2024-10-18 21:01:44

【js】版本号对比处理方案的相关文章

JS 模块化和打包方案收集

1.这里想讨论的是拆分规则,不是在问哪个工具怎么使用.2.这里没有在想找正确答案,因为感觉这个问题要结合具体业务场景. 随着项目开发越来越大,一开始代码全打包到一个文件的方式,让文件越来越大,接下来要做拆分,可具体的拆分规则又不是很熟悉,或者说,我没有一个很好的方案,所以想到这是一个值得讨论的话题,想提问的形式拿出来,请各位大神有这方面接触的分享一下自己的经验. 这个问题有一定局限性,因为不同的业务场景,可能拆分方式还有不同,所以,可否想讨论的朋友能把具体的业务场景细说一下,再结合具体业务场景给

版本号对比方案及参考代码(Objective-C,Java,JavaScript)

常用版本号 如 2.0.1 与 2.0.2 相比  2.0.2是比2.0.1要新的 那么该如何对这个版本号进行对比 这里有一个比较简单的实现方案 2.0.1 这种格式可以拆分为多个部分 如这里的2是大版本号,0是子版本号,1是修复版本号 那么我们可以将2.0.1拆分为N部分 拆分N部分后 ,可以通过遍历来做对比 直接上代码 OC: 判断aVersion是否大于bVersion 例子 : A. NSString *aVersion = @"2.4.2"; NSString *bVersi

Vue.js前后端同构方案之准备篇——代码优化

作者:王鹤 导语 目前Vue.js的火爆不亚于当初的React,本人对写代码有洁癖,代码也是艺术.此篇是准备篇,工欲善其事,必先利其器.我们先在代码层面进行优化,对我们完成整个技术架构是起到基础作用的.此准备篇是独立的,即使你们的项目不使用Vue.js,也不影响文章的阅读,是代码的基础优化. 一.前言 目前Vue.js的火爆不亚于当初的React,本人对写代码还是有一定洁癖的,代码也是艺术.很长时间在找寻最适合自己的前端开发框架,包括在React最火的时候,我依然在坚持寻找,但React在我心目

现代浏览器JS异步加载方案

好,不说废话,要凌晨了我快点写完,关于JS加载阻塞之类的不做科普,本文也不讨论IE9以下的浏览器. headjs:"异步.并行加载并按你的顺序执行",这个是最符合广大码农需求的,只是它越来越臃肿,连CSS Respone什么的都加进去了,没必要那么复杂 Loadjs:今天刚刚出现在OSC首页本人疯狂测试后发现,如果需要并行加载就是乱序的(哪个JS先下载完就先执行谁),如果要顺序下载就不能并发,经测试是下载一个执行一个,每个JS文件之间有10ms的空隙(JS下载和加载时所有渲染操作都要暂

版本号对比

2016年3月17日 11:02:38 星期四 原理: 1. 拆开点分的版本号 2. 对每一项左边补齐0 3. 重新拼接后, 逐位对比 1 /** 2 * @param $version 待检测版本 3 * @param $base_version 基准版本(一般是最新版本) 4 * @return int 5 * desc 待检测版本 > 基准版本 返回值大于0 6 */ 7 function compareVersion($version, $base_version) 8 { 9 $arr

润乾报表与 ActiveReport JS 功能对比

简介 润乾报表是用于报表制作的大型企业级报表软件,核心特点在于开创性地提出了非线性报表数学模型,采用了革命性的多源关联分片.不规则分组.自由格间运算.行列对称等技术,使得复杂报表的设计简单化,以往难以实现的报表可以轻松实现,避免了大量的复杂 SQL 编写与前期数据准备,报表设计的效率提高了一个数量级.润乾报表大概有 20 年的历史,产品成熟稳定. ActiveReport JS 是一个轻量级的报表解决方案,提供简单丰富的 API,是目前葡萄城新推出的报表工具,所以还在测试和不断完善中. 开发语言

android webview与js简单的交互方案

最近研究webview与js交互,看了几个开源库实现,感觉不尽如人意,存在主要问题是,耦合较高,使用不够简洁,后来参考Uri设定规则,格局Uri类似协议自定义了类似的js交互协议 比较简洁,自定义协议内容样式如:jsbridge://android-app/method123?a=123&b=345#jsMethod1(p1,p2) 协议说明: scheme定义为jsbridge,用于区分别的网络请求(http),authority定义为android-app,区分不同平台处理path定义为 调

用js生成PDF的方案

在java里,我们常用Itext来生成pdf,在pdf文件里组合图片,文字,画表格,画线等操作,还会遇到中文支持的问题. 那好,现在想直接在web前端就生成pdf怎么办,目前有以下几个解决方案 1:JSPDF.js 这个库支持不同类型的PDF文件格式,包括:文本,数字,图形,图片,同时你可以自由的编辑标题或者其它类型元素. 还支持互动的内容制作,例如,你可以输入文字或者数字,然后jsPDF帮助生成最后的PDF内容. 缺点,不支持中文,不支持svg导入(解决方案:svg+html转换成canvas

JS 异步编程六种方案

前言我们知道Javascript语言的执行环境是"单线程".也就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务. 这种模式虽然实现起来比较简单,执行环境相对单纯,但是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行.常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行. 为了解决这个问题,Javascript语言将任务的执行模式分成两种