JavaScriptで特定の範囲内から数値が被らずにランダムに取り出す方法
2024/05/22
1位から20位のランキング内でJavaScriptを用いてランダムに表示させたかった。つまり特定の範囲内から数値が被らずにランダムに取り出したい。以下にソースコードをメモ。
ソースコード
const array = []; const limit = 5; for( let i = 0; i < limit; i++ ){ //0~limitまでの整数を順番に配列に格納 array[i] = i + 1; } const shuffle_array = []; //ランダムな数値を入れる配列の宣言 let random_key; //ランダムな数値を入れる変数の宣言 for( let i = 0; i < limit; i++ ){ // 0~limitまでループ random_key = Math.floor(Math.random()*array.length); //変数に指定した範囲(1-20)のランダムな整数値を入れる shuffle_array[i] = array[random_key]; //配列へ指定した範囲(1-20)のランダムな整数値を入れる array.splice(random_key, 1); //順番に整数を入れていた配列から、ランダム変数にあたる要素を削除 } console.log(shuffle_array); //Array(5) [ 2, 3, 4, 5, 1 ]
参考サイト
関連記事
-
-
Video.jsの動画プレイヤーにVTTファイルで字幕機能を実装する方法
Video.jsの動画プレイヤーに字幕機能を実装したい。調べたところVTT(Vi ...
-
-
highcharts.jsで棒グラフと折れ線グラフを1つのグラフに入れる
highcharts.jsで「棒グラフと折れ線グラフを入れる」「Y軸はそれぞれ違 ...
-
-
NicEdit(WYSIWYGエディタ)を再描写時にサイズを調整する方法
NicEdit(WYSIWYGエディタ)を設置しているサイトがあった。ページ読み ...
-
-
バニラJavaScriptで同サーバ内のCSVを読み込み、配列として取り扱う方法
サーバ内のCSVファイルを読み込み、そのデータをサイト上で取り扱いたい。通常だと ...
-
-
formでGET送信時に空のパラメータを送信しない方法(cleanQuery)
フォームでGET送信する際、通常だと空のパラメータも送信される。結果として「ドメ ...