📜  TCS编码实践问题|数字的总和(1)

📅  最后修改于: 2023-12-03 15:05:31.947000             🧑  作者: Mango

TCS编码实践问题:数字的总和

在TCS编码实践问题中,有一道关于数字的总和的题目。这道题目要求编写一个函数,计算一个非负整数的所有数字之和。

题目描述

编写一个函数 sumDigits,接收一个非负整数作为参数,返回该整数所有数字的总和。

例如:

sumDigits(123); // 6
sumDigits(12345); // 15
解题思路

为了求出一个数字的各个数字之和,我们可以先把这个数字转换成字符串,再把每个字符转换成数字,最后求和。

这个过程可以使用 toStringsplit 函数来实现:

function sumDigits(num) {
  return num.toString().split('').reduce(function(sum, digit) {
    return sum + parseInt(digit);
  }, 0);
}

在这个实现中,我们先将数字 num 转换成字符串,然后使用 split 函数将其分割成单个字符的数组。接下来使用 reduce 函数来遍历这个数组,累加每个数字。最后,reduce 函数返回累加的结果。

测试代码
console.log(sumDigits(123)); // 6
console.log(sumDigits(12345)); // 15
总结

这道题目要求计算一个非负整数的所有数字之和,需要将数字转换成字符串,再把每个字符转换成数字,最后求和。这个过程可以使用 toStringsplit 函数来实现。