Получение случайного числа из заданных

Получение случайного числа из заданных. Введение

Получение случайного числа из заданных с помощью php или JSЗа все то время, что я занимаюсь веб-программированием мне ни раз приходилось сталкиваться с генерацией случайных чисел как в php так и в javaScript. Для этих целей в обоих языках имеются специальные функции.

Например, вывод случайного числа в php, можно реализовать вот так:

$min = 1;
$max = 10;
echo rand($min, $max);

А вывод случайного целого числа с помощью javaScript вот так:

var min = 1;
var max = 10;
var rand = Math.floor(Math.random() * (max - min + 1) + min);
alert(rand);

Это все хорошо, но сегодня, я столкнулся с другой задачей по генерации случайных чисел. Было необходимо выбрать случайное число, из заданного множества. По сути, сама задача простая, но я решил ее описать, поскольку, раньше с подобным не сталкивался. Решение сводится к тому, что необходимо все значения, из которых необходимо сделать выборку, поместить в массив. А уже потом просто достать случайный элемент массива.

Получение случайного числа из заданных. Код на php

На php эта проблема решается очень просто, для получения случайного элемента массива существует специальная функция — array_rand.

$array = array(1, 3, 5, 6, 9);
echo $array[array_rand($array)];

Получение случайного числа из заданных. Код на javaScript

В javaScript немного сложней. Необходимо узнать длину массива, после чего генерировать случайное число от нуля до длины массива. И потом, просто взять элемент массива, индекс которого будет равен сгенерированному числу.

// массив чисел
var array = [1, 3, 5, 6, 9];
// длина массива
var len_arr = array.length;
// случайное число от 0 до длинны массива
var rand_num = [Math.floor(Math.random() * len_arr)];
// достаем случайный элемент из массива
var rand_el = array[rand_num];
// вывод
alert(rand_el);
Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*