你可以将两位数的数字加在一起而不首先将其转换为字符串吗?

Lev*_*ith 2 javascript

使用JavaScript,有没有办法将两位数的数字加在一起而不先将其转换为字符串?

例如,我想取15号并将它组成的两个数字加在一起得到6.现在,我通常会做类似这样的事情:

var myNum = 15,
    numString = myNum.toString(),
    firstNum = +numString[0],
    secondNum = +numString[1];

alert(firstNum + secondNum);
Run Code Online (Sandbox Code Playgroud)

如何在不将数字转换为字符串的情况下完成相同的结果?这甚至可能吗?

Jos*_*Lee 7

> 15 % 10 + Math.floor(15 / 10)
6
Run Code Online (Sandbox Code Playgroud)

或递归:

function sumDigits(n) {
  return n % 10 + (n > 0 ? sumDigits(Math.floor(n / 10)) : 0);
}
Run Code Online (Sandbox Code Playgroud)
> sumDigits(123)
6
Run Code Online (Sandbox Code Playgroud)