沼田的瀬戸際メモ(仮)

プログラミング超絶素人がプログラマの方達の宇宙語を理解するための備忘録的なメモ。

ここ数日で使ったメソッド等メモ(randomメソッドを使った課題)

週末はビットコイン(BTC)が下げましたねー。同じくイーサリアム(ETH)も下げ。で、その分、リップル(XRP)、ライトコイン(LTC)、ダークコイン(DASH)等が上げ上げ。そろそろビットコインバブル崩壊ですかな。

 

こんにちは。瀬戸際の沼田です。

 

ここ2,3日で以下のようなJavaScriptの課題を解いておりまして、使ったメソッド等をまとめていきます。今日は完璧なメモですみません。

 

課題(全4題)

課題1. 配列 ['a','b','c','d'] からランダムに要素を取り出す関数 randomFromArray4 を実装せよ。

課題2. 任意の長さの配列からランダムに要素を取り出す関数 randomFrom を実装せよ。

課題3.ランダムにアルファベット1文字を出力する関数 randomAlphabet を実装せよ。

課題4.与えられたオブジェクトからランダムに value を取り出す関数 randomValue を実装せよ。

 

使ったメソッド等

  • Math.random():0〜1の乱数を時刻から生成
  • Math.floor():少数点以下を切りすて
  • split():文字列を()内のseparatorで指定する文字で区切った配列にする
  • Object.keys():引数に与えたオブジェクトの列挙可能なプロパティの配列を返す。列挙可能なプロパティとはfor文に使えるということ(正確には内部の Enumerable フラグがtrueに設定されているものらしいですが)
  • Object.values():引数に与えたオブジェクトの列挙可能なプロパティの値の配列を返す。

※Object.keysはkeyをとってきて配列にするために使用し、

  Obiect.valueはkey値をとってきて配列にするために使用した。

 コードを書く上での留意事項

  • 関数の定義(function 〜)と関数の実行は分けて記述すること。
  • arrayオブジェクトは[//数字//]で配列内の数字を指定できる。→つまりindexプロパティを持っている(表現は適切でないが、.でアクセスできるということ)。
  • arrayオブジェクトはlengthのプロパティを持つ。array.lengthは全体として数値になる。
  • オブジェクトの定義方法は={}で{}の中に任意の名前をつけたkeyとkey値を設定することができる。このときオブジェクトはlengthプロパティを持たないことに注意する。
  • オブジェクトのkey値の後に , を忘れないこと。

 

ふーやれやれ。

今日より明日は改善するよう頑張っていきます(><)