getSemverVersion方法关于版本号排序问题
# 具体遇到的问题
在尝试版本号排序的时候,发现将版本号顺序打乱,并不会进行排序
# 课程代码如下
function getSemverVersion(baseVersion,versions){
return versions
.filter(version =>semver.satisfies(version, `^${baseVersion}`))
.sort((a,b) => semver.gt(b,a))
}
# 举例
如果 baseVersion = 1.0.0
versions =['2.1.2', '1.1.1', '1.0.3', '3.1.2', '1.0.8']
执行上面代码后出现的结果为:
[ '1.1.1', '1.0.3', '1.0.8' ]
错误一:2.1.2 与3.1.2 两个版本过滤掉了,经过代码分析,以上代码semver.satisfies(version, `^${baseVersion}`,应该改为
semver.satisfies(version, `> ${baseVersion}`
错误二:版本无论如何打乱都不会进行排序,这里的sort没有任何作用,尝试了几下仍然未找到解决办法
104
收起
正在回答 回答被采纳积分+1
1回答
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星