看到这个格式,版本号应该为字符串,那么考的就是字符串比较大小。
算法思想:
版本号格式是固定的,且X是0-9的数字,那么
先取第一个.前面的数字,比较大小,若新的>旧的,则返回true,需要更新。
否则,接着比较第二个点前面的数字…
否则,接着比较最后一个数字
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JS5 创建数组 </title>
</head>
<body>
<script type="text/javascript">
const _shouldUpdate = (oldVersion, newVersion) => {
// 补全代码
//新版本号 6.2.3
//旧版本号 5.1.1
let oldOne=oldVersion.slice(0,1);
let newOne=newVersion.slice(0,1);
console.log(oldOne,newOne);
let oldTwo=oldVersion.slice(2,3);
let newTwo=newVersion.slice(2,3);
console.log(oldTwo,newTwo);
let oldThree=oldVersion.slice(4,5);
let newThree=newVersion.slice(4,5);
console.log(oldThree,newThree);
if(newOne > oldOne){
return true;
}else if(newOne < oldOne){
return false;
}else{
if(newTwo > oldTwo){
return true;
}else if(newTwo < oldTwo){
return false;
}else{
if(newThree > oldThree){
return true;
}else{
return false;
}
}
}
}
console.log( _shouldUpdate('0.0.2','0.0.0') );
// console.log( _shouldUpdate('6.3.4','6.4.3') );
// console.log( _shouldUpdate('9.0.1','9.1.0') );
</script>
</body>
</html>