赞
踩
在实际的开发工作中我们会对项目前后的版本号进行对比,从而进行缓存的更新。下面我们就使用js对标准的版本号进行比较大小。
实现一个方法,用于比较两个版本号(version1、version2)
如果version1 > version2,返回1;
如果version1 < version2,返回-1,
其他情况返回0
版本号规则x.y.z
,xyz均为大于等于0的整数,至少有x位
示例:
compareVersion(‘0.1’, ‘1.1.1’); // 返回-1
compareVersion(‘13.37’, '1.2 '); // 返回1
compareVersion(‘1.1’, ‘1.1.0’); // 返回0
function compareVersion(version1, version2) { const newVersion1 = `${version1}`.split('.').length < 3 ? `${version1}`.concat('.0') : `${version1}`; const newVersion2 = `${version2}`.split('.').length < 3 ? `${version2}`.concat('.0') : `${version2}`; //计算版本号大小,转化大小 function toNum(a){ const c = a.toString().split('.'); const num_place = ["", "0", "00", "000", "0000"], r = num_place.reverse(); for (let i = 0; i < c.length; i++){ const len=c[i].length; c[i]=r[len]+c[i]; } return c.join(''); } //检测版本号是否需要更新 function checkPlugin(a, b) { const numA = toNum(a); const numB = toNum(b); return numA > numB ? 1 : numA < numB ? -1 : 0; } return checkPlugin(newVersion1 ,newVersion2); } compareVersion('0.1', '1.1.1'); // -1 compareVersion('13.37', '1.2 '); // 1 compareVersion('1.1', '1.1.0'); // 0
接下来我们就可以根据这个结果来更新我们的缓存了~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。