2016-10-01 17 views
-2

関数は、コンソールに出力しているコードの先頭に配列length.evenが返されていないのに、戻り値が機能していないという理由でundefinedを返しています。戻り値が機能していません(javascript)

var resArr = []; 
var p; 

function persistence(num) { 
    resArr.push(num); 
    console.log(resArr); 
    console.log(resArr.length); 
    if (num > 10) { 
     var v = 1; 
     var x = num.toString(); 
     var arr = []; 
     for (i = 0; i < x.length; i++) { 
      arr.push(x.charAt(i)); 
     } 
     console.log(arr); 
     for (j = 0; j < arr.length; j++) { 
      var v = v * arr[j]; 
     } 
     persistence(v); 
    } else { 
     return resArr.length - 1; 
    } 
} 
+0

に変更

persistence(v); 

関数は 'あなたが再帰的に呼び出していますが、結果 – vlaz

+0

を返さないif'強く標準を使用することをお勧めし、一貫性のインデントになると - あなた自身のために、そして確かにあなたが助けを求めている人々のために。 –

+2

コードを正しくインデントしてください。ハングアップするまで、http://jsbeautifier.org/のようなツールを実行してみてください –

答えて

1

あなたはすべてのケースでリターンしていません。

return persistence(v); 
関連する問題