今週はJSを学びます。
Math.random を使用して配列内のランダムな値を返すことは可能ですか? その値は文字列であり、それでも機能しますか?
今週はJSを学びます。
Math.random を使用して配列内のランダムな値を返すことは可能ですか? その値は文字列であり、それでも機能しますか?
浮動小数点数 (0 と 1 の間、両端を含まない) を取り、それを配列のインデックス (0 と配列の長さ - 1 の間の整数) に変換できます。例えば:
var a = ['a', 'b', 'c', 'd', 'e', 'f'];
var randomValue = a[Math.floor(a.length * Math.random())];
これを読む:
var arr = [1, 2, 3, 4, 5, 6];
var r = arr[Math.floor(Math.random()*a.length)]; // r will store a value from a pseudo-random position at arr.
はい、これは確かに可能です。コード例を次に示します。
<script>
var arr = new Array('a', 'b', 'c', 'd', 'e');
document.write("Test " + arr[Math.floor(Math.random() * ((arr.length - 1) - 0 + 1))]);
</script>
一様な数の分布を得るには、Math.round の代わりに Math.floor を使用する必要があることに注意してください。
ご助力いただきありがとうございます。
//My array was setup as such.
var arr = New Array();
arr[0]="Long string for value.";
arr[1]="Another long string.";
//etc...
あなたの助けを借りて、配列内の値の正確な数 (2) を知っているので、次のようにしました。
var randomVariable = arr[Math.floor(2*Math.random())]
次に、任意の方法で randomVariable を出力します。
ありがとう!