如何找到下划线分隔的应用程序版本之间的最大值
How to find largest value between underscore delimited app versions
我想跟踪应用程序的版本号,并告诉哪些版本比以前晚。
如果我有一个像1.14.1
这样的值(但我们使用下划线,所以1_14_1
),确定1_14_2
(又名1.14.2)是后来的构建,而1_2_20
不是最好的方法是什么?
function natCompare(a, b) {
var a = a.replace(/'d+/g, x => String.fromCharCode(x) )
var b = b.replace(/'d+/g, x => String.fromCharCode(x) )
return a < b ? -1 : a > b ? 1 : 0
}
x = ['1_14_10', '1_2', '1_14_9', '1_2_5', '3_1', '1_14']
console.log(x.sort(natCompare))
假设两个版本的分隔符数目相同:
function compare(v1, v2) {
const a = v1.split('_').map(s => parseInt(s))
const b = v2.split('_').map(s => parseInt(s))
for(let i = 0; i < a.length; i++) {
if (a[i] !== b[i]) {
return Math.sign(a[i] - b[i])
}
}
return 0
}
compare('1_14_1', '1_14_1') // 0
compare('1_14_1', '1_14_2') // -1
compare('1_14_1', '1_2_20') // 1
相关文章:
- PhpWindows 8.1版本上的Javascript web应用程序
- 如何为略有不同的不同版本的web应用程序构建代码
- 应用程序版本插件问题
- Phonegap应用程序数据库版本在更新后保留
- 当我们打开ADF应用程序的同一网页的不同版本时,如何让浏览器请求java脚本
- 在通过phonegap 2.9.0制作的应用程序中,在较低版本的android(如2.3.5)中面临问题
- Phonegap内部版本:应用程序无法在iOS上运行
- 获取模板是用我的Node.JS应用程序的新版本Handlebars错误预编译的
- 此api版本不支持onedrive文件选择器aadsts70001应用程序
- 如何在Java web应用程序中自动控制静态文件(css、js、image)的版本
- Win8应用程序Html/Js正在获取版本号(相当于PackageVersion)
- 如何在应用程序中读取应用程序的版本
- 为什么 React 应用程序的生产版本(使用 Webpack 和 Babel)使用 HMR 的错误开发环境,从而导致错误
- 当 phonegap 版本从 1.5 更新到 1.9 时,android 中的 Phonegap 应用程序会导致强制关闭
- 如何为不同的用户组运行两个版本的 Backbone.js 应用程序
- 如何在JMVC/Can.js中处理应用程序的版本控制
- Metro应用程序版本信息编程
- 如何从web检查应用程序版本
- 如何找到下划线分隔的应用程序版本之间的最大值
- 单页应用程序版本控制