2 回答

TA贡献2051条经验 获得超10个赞
您可以拆分并填充版本数组,然后将一个添加到最后一项。
function next(version) {
var items = version.split('.').map(Number);
while (items.length < 4) items.push(0);
items[3]++;
return items.join('.');
}
console.log(next("1.0.0.0"));
console.log(next("1"));
console.log(next("22"));

TA贡献1835条经验 获得超7个赞
我制作了一个版本,您可以在其中传递要增加的位置。
如果该位置不存在,则创建它,如果没有传递该位置,则为 3
const nextVersion = (ver, pos=3) => {
let [main,...rest] = ver.split(".")
rest = Array.isArray(rest) && rest.length > 0 ? rest : Array(pos).fill(0,0,pos);
if (rest.length<pos) rest.push(0); // make sure it is long enough
+rest[pos-1]++; // interestingly enough the + was not needed here
return `${main}.${rest.join(".")}`; // or use rest.unshift(main)
}
console.log(nextVersion("22",3))
console.log(nextVersion("1.0.0.1",3))
console.log(nextVersion("22",1))
console.log(nextVersion("22.1",1))
console.log(nextVersion("22.1",2))
console.log(nextVersion("1.0.0.1",1))
console.log(nextVersion("22")); // no parameters
添加回答
举报