js实现跟数字(reduce,number())

实现逻辑

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

猜你喜欢

转载自www.cnblogs.com/wtt577474/p/10251650.html
今日推荐