勉強したことのメモ

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

  関連記事

javascript_logo_unofficial-300x300
javascriptでのについて

javascriptを書く際に、 <script> <!-- ...

javascript_logo_unofficial-300x300
JavaScriptでFlashのバージョンを取得

既存のソースでFlashのバージョン取得を 行っているものがあり、使いそうなので ...

javascript_logo_unofficial-300x300
JavaScriptで連想配列を数値でソート

数字の大きい順でソートしたかったんだけど、 色々調べてhash.sort云々やっ ...

mzl.qobqfuxq
PHPで位置情報を取得してGoogleMapAPIで使用する方法

GPSみたいな位置情報をPHPで取得し、GoogleMapAPIでその場所を反映 ...

mzl.qobqfuxq
JavaScriptで住所から経度緯度を取得する

やりたかった事はformに住所を入れてsubmitする際に、javascript ...

javascript_logo_unofficial-300x300
javascriptでのエラーログ

PHPでのエラーログ取りが思いのほか便利だったので JSについても簡単にログ取り ...

javascript_logo_unofficial-300x300
javascriptで実行時間の測定

var time_test = function(){ var x = 1; f ...

javascript_logo_unofficial-300x300
異なる文字コード間でform送信する

formの送り手がUTF-8で受け手がEUC-JP、 なんとかしてjavascr ...

javascript_logo_unofficial-300x300
JavaScriptでURLのクエリを取得する2

直近で調べたのとは別に、 http://aaa.bbb/ccc/id123?te ...

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

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