实现逻辑
digital_root(16)
=> 1 + 6
=> 7
digital_root(942)
=> 9 + 4 + 2
=> 15 ...
=> 1 + 5
=> 6
digital_root(132189)
=> 1 + 3 + 2 + 1 + 8 + 9
=> 24 ...
=> 2 + 4
=> 6
digital_root(493193)
=> 4 + 9 + 3 + 1 + 9 + 3
=> 29 ...
=> 2 + 9
=> 11 ...
=> 1 + 1
=> 2
---------------------
解决方法:
1.
function number02(n) {
if(n<10){
return n;
}else{
var num = n.toString().split('').reduce(function(acc,d){return acc + Number(d)},0); //这里的Number(d)可以简写成+d,split('')是分割成了字符串数组,所以这里需要用Number()把对象的值转化为数字
return number02(num);
}
}
//点击事件
function clickHandler(){
console.log(number02(942)); //这里的回调函数在使用的时候需要加小括号也就是number02()
}
原文:https://blog.csdn.net/a0405221/article/details/79725678