// 超大数加法运算,返回字符串
function add(a, b) {
// 获取位数较大的数,做循环操作
let len = Math.max(a.length, b.length);
// 默认先将两个数位数补齐一致
a = a.padStart(len, 0);
b = b.padStart(len, 0);
// 将两个数转成数组并reverse
let a1 = String(a).split('').reverse();
let b1 = String(b).split('').reverse();
// 结果数组
let sum = [];
// 用于缓存进位
let next = 0;
// 从个位数开始循环,依次操作两个数相同位相加,使用i--
for(let i=len-1; i>=0; i--) {
let temp = Number(a1[i]) + Number(b1[i]) + next;
// 两位数进位操作,个位数保存至sum[i],十位数缓存到next
if(temp > 9) {
sum[i] = temp - 10;
next = 1;
}else{
sum[i] = temp;
next = 0;
}
}
return sum.reverse().join('');
}
console