Mach3.laBlog

細かすぎて伝わらないjQuery拡張 (14) “$.random” – Advent Calendar 2016

この記事は賞味期限切れです。(更新から1年が経過しています)

$.random() は、範囲の間からランダムな数値を取得したり、リストの中からランダムに値を取得したりする関数です。

$.random(start, end), $.random(list)

使い方

$.random(1, 10); // => 1から10までの中から整数をランダムで取得
$.random(["foo", "bar", "baz"]); // => "foo", "bar", "baz" の中からランダムで取得
  • 開始と終了の数値を渡すと、その範囲の中の整数をランダムで返します
  • 配列を渡すと、その配列の中からランダムで値を取得します

コード

$.random = function(start, end){
    var random = function(start, end){
        return Math.floor(Math.random() * (end - start + 1)) + start;
    };
    return $.isArray(start) ? start[random(0, start.length - 1)] : random(start, end);
};

Math.random() をいじっているだけの簡単な関数です。 JavaScriptの乱数生成の精度や分布はどうなの?というポイントも気になったので調べていたら、 下記のエントリがヒットしました。興味深かったので参考までに。

JavaScriptの乱数の精度の話 / LiosK-free Blog

ところで、案件でコードを書いてて乱数が必要になる事ってほとんどなかったなと思いました。

コメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*