勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

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

  関連記事

mzl.qobqfuxq
GoogleMapAPIで現在地取得と目的地までのルート表示

GoogleMapAPIを使って現在地を取得しつつ、目的地までのルートを表示させ ...

javascript_logo_unofficial-300x300
table内のiframeのheightを最大高さにする

tableのtdの中にリンクがあり、クリックすると td内でiframeが開く。 ...

android_logo2-300x224
Android2.3でJavaScriptのエラー

Android2.3で関数が動かないといったエラーが発生していた。 担当外だった ...

javascript_logo_unofficial-300x300
javascript:void(0)について

よく使う<a href="javascript:void(0)" oncl ...

jquery_logo
テキストエリアを自動でリサイズ

改行するだけで勝手にリサイズしてくれるので、 ユーザー用でも管理用でも使えそう。 ...

mzl.qobqfuxq
GoogleMapでマーカーをまとめる

GoogleMapAPIでマーカーを複数表示し、近隣のエリアごとにまとめて表示さ ...

javascript_logo_unofficial-300x300
JavaScriptで年齢計算

JavaScriptで年齢計算。 ■ソース function ageCalcul ...

javascript_logo_unofficial-300x300
youtubeの埋め込みをポップアップ表示させる方法

youtubeの埋め込みリンクをLightboxみたいにポップアップ表示させる方 ...

javascript_logo_unofficial-300x300
getElementsByTagName

うろ覚えだけど業務中に、 document.getElementById('aa ...

javascript_logo_unofficial-300x300
JavaScriptでcookieの保存

JavaScriptでcookieを保存したかったけど 方法が分からなかったので ...