2

関数内に複数の変数を配置しましたが、JavaScript でその関数内の変数をランダムに選択する方法があるかどうか疑問に思っていました。どんな助けでも大歓迎です。どうもありがとう。

4

3 に答える 3

8

複数の変数の代わりに配列を使用する場合、配列からランダムな要素を選択できます。

function test() {
    var values = ["test","values","go","here"],
        valueToUse = values[Math.floor(Math.random() * values.length)];
    // do something with the selected value
    alert(valueToUse);
}

デモ: http://jsfiddle.net/XDn2f/

(もちろん、配列には、私が示した文字列のような単純な値を含める必要はありません。オブジェクトの配列や、他の関数への参照などを含めることができます。)

于 2013-01-20T06:22:22.620 に答える
1

パラメータの 1 つが配列の場合、その中から 1 つの値をランダムに選択できます。

function myFunc(arrayInput)
{
     var randomIndex = Math.floor((Math.random()*10)+1);
     return (arrayInput[randomIndex]);
}
于 2013-01-20T06:22:45.257 に答える
0

N 個の変数がある場合、それらを配列に入れて、その配列にランダムなインデックスを生成するのが最もクリーンです。

var items = [1,2,3,4];
var index = Math.floor(Math.random() * items.length);
items[index] = whatever;

変数が 2 つしかない場合は、乱数を生成し、if/elseステートメントを使用して目的の変数を操作できます。

var a, b;
var index = Math.random();
if (index < 0.5) {
    // operate on a
    a = 3;
} else {
    // operate on b
    b = 3;
}
于 2013-01-20T06:26:29.273 に答える