JavaScriptを勉強しよう(4)

top2012_0122.jpg

今回はJavascriptの4回目。
JavaScriptオブジェクト(Math) について、書き留めておこうと思います。

ドットインスートで勉強をするなかで、「おみくじをつくる」というコンテンツがあります。
この時にMathが登場するのですが、なるほどなーー。と思いました。

その当たりを自分なりにまとめようと思います。
※今回はサンプルページは用意しておりません。
実際に動きが知りたい方はドットインストールにて、学習もかねてみてはいかがでしょうか。

■おみくじを実現するためには
おみくじは「大吉、吉、小吉、末吉、凶、大凶」などの種類ある。
これを読み込む時、ボタンを押した時と、ランダムとで表示させなければならない。

■スクリプの組むにあたって・・・。
・種類を配列へ格納する
・表示方法をランダムで。
・ボタンをトリガーとする。

■スクリプト


結果は・・・・

■ポイント
今回一番なるほど、こういう風に使うのかー。と、思った箇所です。

var result = Math.floor(Math.random() * omikuji.length);

Math.floorは小数点以下を切り下げて、整数にする。という処理を行います。
Math.random()は0〜1未満の数をランダムで発生します。
omikuji.lengthは配列の要素数を取得することができます。

上記を文章で表すと

はじめに0~1未満の数をランダムで取得して、配列の長さ(要素の数)をかける、
最後に小数点以下切り捨て(floor)て整数にする。
取得した整数を使って、配列の要素をVarに返す。

更に計算式も加えて表すと

※例:0.733123(ランダムの数) × 6(配列全体の数) = 4.398738 → 4(切り捨てる)
配列の4番目ということで「末吉」を取得する事になります。
(配列に入った要素"大吉", "中吉", "凶", "大凶", "末吉", "吉")

注意:配列は0から始まる。.lengthで取得する配列の長さ(要素の数)は1からはじまるので6となる。

ランダムで発生した数(0〜1未満)に対して、要素の数をかけて切り捨てる。という発想・・・。
「ほぉーー。なるほどねーーー。」
これを理解した時猛烈な感動がありました。

文字をランダムに表示する。という、プロセスが計算式によって成り立っているところが一番の収穫だと感じています。

仕事でゴリゴリ、スクリプトを書くことはあまり無いわけですが、自信で理解した事柄があると、うれしいものです。
どこかで応用できないかと、模索も出来ますからね。