JavaScriptで特定の範囲内から整数値を、数値が被らずにランダムに取り出す
2014/05/17
やりたかったのは1位から20位のランキング内で
JavaScriptを用いてランダムに表示させたかった。
最初ランダム関数? が思いついたけど被った時が面倒。
調べてみるとそのままコピペでいけそうなものがあり、
解決したが、その場でどういう内容なのかすぐに分からなかったのでメモ。
■ソース
<script>
var num = 20;
var arr = ;
for (var i = 0; i < n; i++) { // 0~nまでの整数を順番に配列arrに格納
arr[i] = i + 1;
}
var shuffledarr = ; //ランダムな数値を入れる配列の宣言
var randomIndex; //ランダムな数値を入れる変数の宣言
for (var i = 0; i < n; i++) { // 0~nまでループ
randomIndex = Math.floor(Math.random()*arr.length); //変数に指定した範囲(1-20)のランダムな整数値を入れる
shuffledarr[i] = arr[randomIndex]; //配列へ指定した範囲(1-20)のランダムな整数値を入れる
arr.splice(randomIndex, 1); //順番に整数を入れていた配列から、ランダム変数にあたる要素を削除
}
</script>
■その他
arr.splice(randomIndex, 1); が??ってなったけど
配列から要素を削除するものみたい。
一連の流れは分かったけど、一から書けといわれると
もっと遠回りして書いてしまいそう。
ちょっとでも流れを覚えておく。
■参考サイト
http://himaxoff.blog111.fc2.com/blog-entry-43.html
関連記事
JavaScriptでFlashのバージョンを取得
既存のソースでFlashのバージョン取得を 行っているものがあり、使いそうなので ...
jQueryでページ表示時にラジオボタンやチェックボックスにcheckedがついている場合にイベントを実行する方法
ラジオボタンやチェックボックスをチェックした際に、jQuery側で何らかのイベン ...
JavaScriptの変数宣言であるvar / let / constの使い分けについて
JavaScript関連の調べ物をしていた際、変数の宣言時にvarではなくlet ...
JavaScriptでcookieの保存
JavaScriptでcookieを保存したかったけど 方法が分からなかったので ...
Ajaxを使用する際の注意
Ajaxで特にJSONPを使う際によくミスることがあるので 注意点をまとめておく ...