Не тратьте впустую свое время, кодируя управление исключением низкого уровня, используйте высокоуровневый API как Spring-JDBC или пользовательскую обертку вокруг объектов соединения/оператора/RS, для сокрытия грязной выгоды попытки код, на котором поехали.
Вы можете взять число с плавающей запятой (от 0 до 1, не включительно) и преобразовать его в индекс массива (целое число от 0 до длины массива - 1). Например:
var a = ['a', 'b', 'c', 'd', 'e', 'f'];
var randomValue = a[Math.floor(a.length * Math.random())];
Спасибо за вашу помощь.
//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 как Я желаю.
Спасибо!
Прочтите это:
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.floor следует использовать вместо Math.round, чтобы получить равномерное распределение чисел.