Javascript 数字根JS

Javascript 数字根JS,javascript,arrays,Javascript,Arrays,输入:635 输出:6+3+5=14 1+4=5 输入:65536 输出:2+5=7(有效) 函数数字根(n){ var z=n.toString(); 如果(z.length==2){ var x=parseInt(z[0])+parseInt(z[1]); 返回x; }否则,如果(z.长度>2){ var i; 对于(i=0;i两个问题:你需要在循环外初始化y,然后在i=z.length之前停止循环;也就是说,i两个问题:你需要在循环外初始化y,然后在i之前停止循环=z、 长度;即for循

输入:635
输出:6+3+5=14 1+4=5

输入:65536
输出:2+5=7(有效)

函数数字根(n){
var z=n.toString();
如果(z.length==2){
var x=parseInt(z[0])+parseInt(z[1]);
返回x;
}否则,如果(z.长度>2){
var i;

对于(i=0;i两个问题:你需要在循环外初始化
y
,然后在
i=z.length
之前停止循环;也就是说,
i两个问题:你需要在循环外初始化
y
,然后在
i之前停止循环=z、 长度
;即for循环中错误检查旁边的
i(
)for循环中错误检查旁边的(
你需要更改什么?我觉得很合理,什么不起作用?漂亮的小胡子:D例如,123的输出是NaN。你应该将
var y=0;
移动到循环之外。这不是正确的方法。你可以通过除以10来实现同样的结果。我做了,但它也不起作用,输出是NaN。我知道,但我尝试过我自己做为什么不简单一点:
n%9 | | 9
你需要改变什么?我觉得很合理,什么不起作用?漂亮的小胡子:D例如,123的输出是NaN。你应该将
var y=0;
移出循环。这不是正确的方法。你可以通过除以10来实现同样的结果。我做了b但它也不起作用,输出是NaN。我知道,但我试着自己做。为什么不用简单的方法做:
n%9 | | 9
它对635返回14,但我知道我应该做什么。谢谢:)它对635返回14,但我知道我应该做什么。谢谢:)
function digital_root(n) {
  var z = n.toString();
  if (z.length == 2) {
    var x = parseInt(z[0]) + parseInt(z[1]);
    return x;
  } else if(z.length > 2){
    var i;
    var y = 0;
    for(i=0;i<z.length;i++){
      y += parseInt(z[i]);
    }
    return y;
  }
 }