JS: Math.random для массива

Не тратьте впустую свое время, кодируя управление исключением низкого уровня, используйте высокоуровневый API как Spring-JDBC или пользовательскую обертку вокруг объектов соединения/оператора/RS, для сокрытия грязной выгоды попытки код, на котором поехали.

6
задан 4 October 2009 в 15:43
поделиться

4 ответа

Вы можете взять число с плавающей запятой (от 0 до 1, не включительно) и преобразовать его в индекс массива (целое число от 0 до длины массива - 1). Например:

var a = ['a', 'b', 'c', 'd', 'e', 'f'];
var randomValue = a[Math.floor(a.length * Math.random())];
19
ответ дан 8 December 2019 в 05:56
поделиться

Спасибо за вашу помощь.

//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 как Я желаю.

Спасибо!

1
ответ дан 8 December 2019 в 05:56
поделиться

Прочтите это:

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.
0
ответ дан 8 December 2019 в 05:56
поделиться

Да, это действительно возможно. Вот пример кода:

<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.floor следует использовать вместо Math.round, чтобы получить равномерное распределение чисел.

2
ответ дан 8 December 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: