2017-12-24 11 views
0

私はouterfucntion内の数字は、私はこの問題を解決する方法を、「マックス・スタックがエラーを超えて」を取得innerfunctionリスト内最大スタックがエラーを超えました。これをどのように修正しますか?

<script> 
function hasMatch(item) { 
    hasMatch(2) 
    function inList() { 
     var List = [1,2,3,4]; 
     for (i = 0; i<List.length; i++){ 
      if (list[i] == item) { 
       return true; 
      } else { 
       return false; 
      } 
     } 
    } 
    inList(); 
} 
hasMatch(); 
</script> 

であれば真を返す関数を作るのですか?

答えて

0

hasMatch(2)は、終了条件なしで再帰呼び出しです。

hasMatch()が無限に呼び出されているため、スタックオーバーエラーが表示されます。

function hasMatch(item) { 
    function inList() { 
     var List = [1,2,3,4]; 
     for (i = 0; i<List.length; i++){ 
      if (List[i] == item) { 
       return true; 
      } else { 
       return false; 
      } 
     } 
    } 
    return inList(); 
} 

hasMatch(2); 
+0

どのように終了条件を追加しますか? – sharjeel

+0

私は答えを更新しました –

関連する問題