📅  最后修改于: 2023-12-03 15:05:31.947000             🧑  作者: Mango
在TCS编码实践问题中,有一道关于数字的总和的题目。这道题目要求编写一个函数,计算一个非负整数的所有数字之和。
编写一个函数 sumDigits
,接收一个非负整数作为参数,返回该整数所有数字的总和。
例如:
sumDigits(123); // 6
sumDigits(12345); // 15
为了求出一个数字的各个数字之和,我们可以先把这个数字转换成字符串,再把每个字符转换成数字,最后求和。
这个过程可以使用 toString
和 split
函数来实现:
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
这道题目要求计算一个非负整数的所有数字之和,需要将数字转换成字符串,再把每个字符转换成数字,最后求和。这个过程可以使用 toString
和 split
函数来实现。