勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

JavaScriptで特定の範囲内から数値が被らずにランダムに取り出す方法

   2024/05/22  JavaScript

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 ]

 

参考サイト

http://himaxoff.blog111.fc2.com/blog-entry-43.html

 - JavaScript

  関連記事

JavaScriptでCookieを取り扱う「js-cookie」ライブラリの利用方法

「jquery-cookie」プラグイン開発終了に伴い「js-cookie」ライ ...

Leafletにて地図を全画面(フルスクリーン)表示機能を追加する方法

Leafletにて表示されている地図に全画面表示ボタンが設置されているサイトがあ ...

Leafletで「leaflet.sprite」プラグインを導入してマーカーの色を変更する方法

LeafletとOpenStreetMapでマップ上にマーカーを複数設置したい。 ...

八地方区分→都道府県→路線→駅名の連携したセレクトメニュー の実装方法

八地方区分(関東、近畿等)をプルダウンから選ぶと区分内の都道府県プルダウンが表示 ...

tableのtd内にあるcheckboxのクリック範囲を拡大させ、チェック時に親要素であるtdにCSSを割り当てる方法

tableのtd内にcheckboxを設置し、td部分をクリックすることでche ...