勉強したことのメモ

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で実行時間の測定

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

JavaScriptで多次元連想配列

JavaScriptで多次元の配列を作る際にいつも迷ってしまうのでメモ。 ■こう ...

GoogleMapAPIでヒートマップを表示する方法

GoogleMapAPIで花粉状況や雨量を可視化しやすいようなヒートマップ的なも ...

javascriptで月末日を取得

以前、PHPで月末日を取得したけれども javascriptで月末日を扱いたいケ ...

テキストエリアのリアルタイムプレビュー

テキストエリア内に書いた内容をリアルタイムで プレビューする機能が必要となり、教 ...

JavaScriptで全角半角を判別の上で文字数カウントを行う

やりたかった事は「全角5文字・半角10文字以内の入力フォーム」 みたいなもの。 ...

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

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

Flashを用いずJavaScriptでコピー&カット機能を実装する

以前メモったようなFlashを用いる方法ではなく、WebAPIでコピー& ...

alert後にページ遷移

JavaScriptのalertが閉じたらページ遷移させてほしいと言われ、con ...

JavaScriptでcookieの保存

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