【发布时间】:2021-04-25 09:57:33
【问题描述】:
我有这个 semver 版本数组:
let versions = ['4.5.0', '4.5.1', '4.5.2', '4.6.0', '4.6.1', '4.6.2', '4.7.0', '4.7.1', '4.8.0', '4.8.1']
我想过滤这个数组,只保留基于次要和主要版本的最新补丁版本。
预期结果:
['4.5.2', '4.6.2', '4.7.1', '4.8.1']
我尝试在比较主要和次要版本的两个循环中检查每个版本,但每次我在最终数组中都有重复版本和较低版本。
我的代码:
for (let versions of supportedReleaseList) {
for (let doubleCheckVersion of supportedReleaseList) {
if (semver.parse(versions).major === semver.parse(doubleCheckVersion).major) {
if (semver.parse(versions).minor === semver.parse(doubleCheckVersion).minor) {
if (semver.parse(versions).patch > semver.parse(doubleCheckVersion).patch) {
finalList.push(versions);
}
}
}
}
}
结果是:
['4.5.1', '4.5.2', '4.5.2', '4.6.1', '4.6.2', '4.6.2', '4.7.1', '4.8.1']
【问题讨论】:
-
列表排序了吗?
标签: javascript arrays semantic-versioning