let num = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ];
let bool = true;
function selectNum( isRotate )
{
while ( bool )
{
for ( let i = 0; i < num.length; i++ )
{
console.log( num[i] );
}
}
bool = isRotate;
}
setTimeout( selectNum, 1000, false );
一定時間ループさせて止めたいのですが、
これだと 1 秒後待ったのちの処理になり、処理も継続のまま止まらず。
実際の動作の希望は、
1 秒後ではなく、 1 秒ループさせ num の配列の 1 つを表示したいのですが、
その方法がわかりません。
わかる方おりましたら、教えてください。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんばんは
>1 秒ループさせ num の配列の 1 つを表示したい
目的は何なのでしょうか?
もしも、配列の中からランダムに選択したいのなら、普通は、
console.log( num[Math.random() * num.length | 0] );
みたいな方法にすると思います。
1秒後に実行したいのであれば(実際にはいつ計算しても同じことですけれど)、setTimeoutで1秒後に上記を実行させるとか。
どうしても言葉通りに『1秒間ループさせたい』のであれば、時間を測りながら1秒を過ぎたらループを止めるようにしておくとかでしょうか。
let i = 0, d = new Date();
while( new Date() - d < 1000 ) ++i ;
console.log( num[i % num.length] );
こちら場合は、処理速度と関連のある記述になっているので、結果には多少の偏りが出るかも知れません。
ちなみに、私のマシンだと、上記で 約360万回/秒 程度ループしているようです。
(ランダムに選択するのが目的だとするなら、無駄な処理を繰り返していると言わざるを得ません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- その他(プログラミング・Web制作) pythonで変数にオブジェクトを代入するにはどうしたらよいでしょうか 2 2023/08/20 20:36
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAでの一時停止と再開の方法
-
範囲指定したセルを1つずつ飛...
-
アクティブセルから、A列最終行...
-
多重ループの抜けだし方
-
VBA Dir関数でファイルをループ...
-
C#で別のフォームのprogress ba...
-
WinAPI「MsgWaitForMultipleObj...
-
エクセルの当番表を作っていま...
-
再帰関数のインライン展開
-
VB.NETで素因数分解のプログラ...
-
DoEventsが必要な理由について
-
データベースをEOFまでループさ...
-
Escキーを押すと、中断する時と...
-
WSH:任意のキーを押してDo Whi...
-
フラグについて
-
VBAで3秒だけ時間を止めたい
-
うるう年判定のアルゴリズム
-
objective-cの多重ループbreak
-
StatementとResultSetのclose()...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAでの一時停止と再開の方法
-
UWSCの終了の仕方
-
DoEventsが必要な理由について
-
VBAで3秒だけ時間を止めたい
-
範囲指定したセルを1つずつ飛...
-
Escキーを押すと、中断する時と...
-
DOSコマンドのループ内のTIMEコ...
-
vbscriptでIE自動入力(途中で...
-
乱数の桁数指定、または範囲指定。
-
GIFアニメをループさせたくない
-
プログラミングについて。 1つ...
-
エクセルの当番表を作っていま...
-
テキストボックスの名前に変数...
-
ループフリー
-
vb.netからエクセル関数書き込み
-
CSVファイルの特定の行だけを読...
-
VBA for i=1 to lastrow
-
どなたかこのプログラミングを...
-
Do whileでExitせず、ループの...
おすすめ情報