- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:変数と配列の要素を比べるループ)
変数と配列の要素を比べるループ
このQ&Aのポイント
- 質問タイトルがわかりにくくて、ある数字とcount=5の順番の不規則で長さも不明な例外番号が入った配列ExceptionNumがあり、例外番号と一致しないときはそのまま返し、一致する場合はcountより大きい最小の整数を返す関数を作りたい。しかし、数が大きくなるとうまく動かない。
- 例外番号と一致しないときはそのまま返し、一致する場合はcountより大きい最小の整数を返す関数を作りたい。
- 数が大きくなるとなぜかうまく動かないので、解決策を教えてほしい。
- みんなの回答 (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>
お礼
なるほど、代入する用の配列を一回作ればよかったんですね。 whileの使い方を勘違いしていたため失敗していたようです。 ご丁寧にありがとうございました。 非常に参考になりました。