将其还原为强制前的对应对象"/>
用semver强制对数组进行排序,然后将其还原为强制前的对应对象
semver
的问题是其不同的函数返回不同的输出:
semver
我有一系列的版本需要:
- 从空格
const semver = require("semver") semver.valid("1.0.0") //=> "1.0.0" semver.valid(" 1.0.0 ") //=> null semver.valid(" v1.0.0 ") //=> null semver.clean("1.0.0") //=> "1.0.0" semver.clean(" 1.0.0 ") //=> "1.0.0" semver.clean(" v1.0.0 ") //=> null semver.valid(semver.coerce("1.0.0")) //=> "1.0.0" semver.valid(semver.coerce(" 1.0.0 ")) //=> "1.0.0" semver.valid(semver.coerce(" v1.0.0 ")) //=> "1.0.0"
中修剪 - 强制(以支持解析最复杂的版本输入)
- 使用
" 1.0.0 " => "1.0.0"
排序 - 除非指定了布尔值,否则返回其非强制对等物。
这里有一些需要满足的测试用例:
semver.rcompare
我认为这对于convert([" 1.0.0 ", " 3.0.0aa ", " v2.0.0 ", " v0 "], false)
//=> ["3.0.0aa", "v2.0.0", "1.0.0", "v0"]
convert([" 1.0.0 ", " 3.0.0aa ", " v2.0.0 ", " v0 "], true)
//=> ["3.0.0", "2.0.0", "1.0.0", "0.0.0"]
来说将是一个很好的用例-因为它可以容纳2对值,因此可以在整个转换过程中存储版本的标识-但是,我不知道如何实施。
Map
GitHub问题上还有一些额外的话题。
这里最好的策略是使用类似地图的数组结构:
this
更多推荐
用semver强制对数组进行排序,然后将其还原为强制前的对应对象
发布评论