題目連結
https://www.codewars.com/kata/525f4206b73515bffb000b21
解法
function add(a, b) {
const arr1 = a.split('').reverse();
const arr2 = b.split('').reverse();
const maxLength = Math.max(arr1.length, arr2.length);
const result = [];
let carry = 0;
for (let i = 0; i < maxLength; i++) {
const digit1 = i < arr1.length ? parseInt(arr1[i]) : 0;
const digit2 = i < arr2.length ? parseInt(arr2[i]) : 0;
const sum = digit1 + digit2 + carry; // 相加每一位數
const digitSum = sum % 10; // 尾數
carry = Math.floor(sum / 10); // 無條件捨去 進位
result.push(digitSum);
}
if (carry > 0) {
result.push(carry);
}
return result.reverse().join('');
}

![[ JavaScript 06 ] function 傳參數的運作機制](https://static.coderbridge.com/images/covers/default-post-cover-2.jpg)
![[0.] 前置作業: 開發環境設定](https://static.coderbridge.com/img/jessiehu907/a6a2d776d0734cd9aa90dcbfca8d1f31.png)