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 ]
参考サイト
関連記事
-
-
jQueryとCSSで指定したテキストに対してラインマーカーを引く方法
サイト内で強調したいテキストに対して蛍光ペンでマーカーを引くようなアニメーション ...
-
-
SortableJSを使ってデータの並べ替え&保存
あるシステムを拝見した際にtableタグ内に並んでいる項目をドラッグ&ド ...
-
-
マウスオーバーでの画像切り替えをJavaScriptで簡単に対応
マウスが要素にのった際に画像を切り替える処理を入れたかった。多分CSSの管轄なん ...
-
-
エリア→都道府県→路線→駅名を連携する絞り込みセレクトメニューの設置方法
エリア→都道府県→路線→駅名のドリルダウン検索をプルダウン形式で設置したい。以前 ...
-
-
formでファイルを選択した際にファイル名やサイズ、形式を調べる方法
フォームで画像などをアップロードする際に「ファイルサイズが大きすぎないか?」「拡 ...