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
添加回答
舉報