在javascript中,对表示数字的字符串相加而不进行完整转换


我们需要编写一个 JavaScript 函数,输入为两个字符串 str1 和 str2,它们分别表示两个数字。

在不将整个字符串转换为相应数字的情况下,我们的函数应计算这两个字符串数字的和,并返回结果作为字符串。

例如,

如果两个字符串为:

const str1 = '234';
const str2 = '129';

那么输出应为 363。

示例

以下是代码:

const str1 = '234';
const str2 = '129';
const addStringNumbers = (str1, str2) => {
   let ind1 = str1.length - 1,
   ind2 = str2.length - 1,
   res = "",
   carry = 0;
   while(ind1 >= 0 || ind2 >= 0 || carry) {
      const val1 = str1[ind1] || 0;
      const val2 = str2[ind2] || 0;
      let sum = +val1 + +val2 + carry;
      carry = sum > 9 ? 1 : 0;
      res = sum % 10 + res;
      ind1--;
      ind2--;
   };
   return res;
};
console.log(addStringNumbers(str1, str2));

输出

以下是控制台输出:

363

更新于:2021 年 1 月 20 日

691 次浏览

开启你 事业

完成课程获得认证

开始
广告