• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:変数と配列の要素を比べるループ)

変数と配列の要素を比べるループ

このQ&Aのポイント
  • 質問タイトルがわかりにくくて、ある数字とcount=5の順番の不規則で長さも不明な例外番号が入った配列ExceptionNumがあり、例外番号と一致しないときはそのまま返し、一致する場合はcountより大きい最小の整数を返す関数を作りたい。しかし、数が大きくなるとうまく動かない。
  • 例外番号と一致しないときはそのまま返し、一致する場合はcountより大きい最小の整数を返す関数を作りたい。
  • 数が大きくなるとなぜかうまく動かないので、解決策を教えてほしい。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>数が大きくなるとなぜかうまく動きません。 どのくらいの数で、どううまく動かないのでしょうか? たとえばこんな感じでどうでしょうか? <script> function check(num){ var ExceptionNum=new Array(20,2,16,4,9,12,13,9,18,5,11); var temp=new Array(); for(var i=0;i<ExceptionNum.length;i++){ temp[ExceptionNum[i]]=1; } while(temp[num]==1){ num++; } return num; } document.write("5→"+check(5)+"<br>"); document.write("3→"+check(3)+"<br>"); document.write("11→"+check(11)+"<br>"); document.write("10000→"+check(10000)+"<br>"); </script>

Tom2014
質問者

お礼

なるほど、代入する用の配列を一回作ればよかったんですね。 whileの使い方を勘違いしていたため失敗していたようです。 ご丁寧にありがとうございました。 非常に参考になりました。

関連するQ&A

専門家に質問してみよう