※ ChatGPTを利用し、要約された質問です(原文:変数と配列の要素を比べるループ)
変数と配列の要素を比べるループ
このQ&Aのポイント
質問タイトルがわかりにくくて、ある数字とcount=5の順番の不規則で長さも不明な例外番号が入った配列ExceptionNumがあり、例外番号と一致しないときはそのまま返し、一致する場合はcountより大きい最小の整数を返す関数を作りたい。しかし、数が大きくなるとうまく動かない。
例外番号と一致しないときはそのまま返し、一致する場合はcountより大きい最小の整数を返す関数を作りたい。
数が大きくなるとなぜかうまく動かないので、解決策を教えてほしい。
すいません。質問タイトルがわかりにくくて、、、
ある数字と、count=5;
順番の不規則で長さも不明な例外番号が入った配列
ExceptionNum=(20,2,16,4,9,12,13,9,18,5,11)
があり
例外番号と一致しないときそのまま
例外番号と一致する場合はcountより大きく例外番号と一致しない
最小の整数を返す関数を作っています。
例の場合
引数→返り値
5→6
//5が例外のため
3→3
//例外にない
11→14
//11,12,13が例外のため
となってほしいのですが
数が大きくなるとなぜかうまく動きません。
どなたか教えていただけますでしょうか?
function checkDeleteList(count){
var flag=0;
//alert(count);
while (flag == 0) {
flag=1;
for (i = 0; i < ExceptionNum.length; i++) {
if (count == ExceptionNum[i]) {
flag = 0;
}
}
if (flag == 0) {
count++;
}
}
//alert(count);
return count;
}
よろしくお願いいたします。
お礼
なるほど、代入する用の配列を一回作ればよかったんですね。 whileの使い方を勘違いしていたため失敗していたようです。 ご丁寧にありがとうございました。 非常に参考になりました。