所有这些解决方案都假定您想要添加1的数字在整数的机器精度内。所以如果你在这个字符串中有足够大的数字,当你加1时它不会改变数字。
例如:
parseInt('800000000000000000', 10) + 1 = 800000000000000000
所以我写了一个快速的解决问题
function addOne(s) {
let newNumber = '';
let continueAdding = true;
for (let i = s.length - 1; i>= 0; i--) {
if (continueAdding) {
let num = parseInt(s[i], 10) + 1;
if (num < 10) {
newNumber += num;
continueAdding = false;
} else {
newNumber += '0';
}
} else {
newNumber +=s[i];
}
}
return newNumber.split("").reverse().join("");
}
现在,使用上述
addOne('800000000000000000') + 1 = '800000000000000001'
注意,它必须继续担任同样的例子一个字符串,否则你会在最后失去那个1。
几乎是一个完美的例子,“如何用jQuery添加两个数字”不再是一个笑话! –