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 ]
参考サイト
関連記事
-
-
formのpasswordとtextをjQueryで切り替える方法
formでtype="password"を指定していると内容を入力した際に「●● ...
-
-
バニラJavaScriptのDOMContentLoadedとは?
jQuery等を用いない素のJSで書かれたプログラムを触る機会があり、そのソース ...
-
-
jQueryプラグインでクリップボードにコピーする方法(clipboard.js)
ページ上のボタンをクリックすることで特定の文章をクリップボードにコピーしたかった ...
-
-
「slick」でarrows(次に進む・前に戻るボタン)を設定しても表示されない場合の対応方法
「slick」で画像スライダーを表示する際にarrows(次に進む・前に戻るボタ ...
-
-
JSやjQueryで動的に追加した要素に対して「slick」でスライダーを実行する方法
外部サーバからAjax等で画像URLを取得したものをimgタグとしてページ内に描 ...