数字根是数字中所有数字的递归总和。给定n,取n的数字之和。如果该值有两位数字,则继续以这种方式减少直到产生一位数字。这只适用于自然数。
example:
digital_root(16)
=> 1 + 6
=> 7
这是已编码的功能:
function digital_root(n) {
if (n < 10) {
return n;
}
return digital_root(n.toString().split('').reduce(function (a, b) {
return a + +b;
}, 0));
}
有人能澄清什么额外的+
在这行代码是干什么的? return a + +b;
它们以一种不可读的方式将字符串转换为数字。你可以用'a + Number(b)'代替它。 – zerkms
啊!好吧,好吧,我真的很感谢 – jalexyep