JavaScript выбирает случайное значение из массива

JavaScript выбирает случайное значение из массива

В этом руководстве будет обсуждаться, как выбрать случайное значение из массива с помощью функции Math.random() в JavaScript.

Выберите случайное значение из массива с помощью функции Math.random() в JavaScript

Мы можем выбрать значение из заданного массива, используя его индекс в JavaScript. Чтобы выбрать случайное значение из данного массива, нам нужно сгенерировать случайный индекс в диапазоне от 0 до длины массива. Мы можем сгенерировать случайное значение, используя функцию Math.random(), и чтобы установить диапазон этого случайного значения, мы должны умножить его на длину массива, которую мы можем получить с помощью функции length.

Случайное значение, генерируемое функцией Math.random(), является значением с плавающей запятой. Чтобы преобразовать значение с плавающей запятой в целое число, мы должны использовать функцию Math.floor(). Функция Math.floor() преобразует число с плавающей запятой в целое число, которое будет меньше заданного числа. Например, давайте создадим массив из пяти значений, выберем из него одно случайное значение и покажем его на консоли. См. Код ниже.

var myArray = ['one', 'two', 'three', 'four', 'five'];
var rand = Math.floor(Math.random()*myArray.length);
var rValue = myArray[rand];
console.log(rValue)

Выход:

two

В приведенном выше коде случайный индекс будет храниться в переменной rand, и с помощью этого индекса мы можем выбрать случайное значение из массива, которое будет сохранено в переменной rValue. Вы также можете использовать побитовый оператор НЕ ~~ или побитовый ИЛИ | вместо функции Math.floor() для преобразования числа с плавающей запятой в целое число. Использование побитовых операторов быстрее, но может не работать для массива, содержащего миллионы значений. Например, сгенерируем случайное число с помощью побитового оператора НЕ. См. Код ниже.

var myArray = ['one', 'two', 'three', 'four', 'five'];
var rand = ~~(Math.random()*myArray.length);
var rValue = myArray[rand];
console.log(rValue)

Выход:

one

Теперь сгенерируем случайное число с помощью побитового оператора ИЛИ. См. Код ниже.

var myArray = ['one', 'two', 'three', 'four', 'five'];
var rand = Math.random()*myArray.length | 0;
var rValue = myArray[rand];
console.log(rValue)

Выход:

three

Если вы снова запустите код, результат изменится. Вы также можете создать функцию для выбора случайных значений из заданного массива, чтобы вам не приходилось переписывать весь код. Например, давайте создадим функцию для выбора случайных значений из заданного массива и проверки ее с помощью массива. См. Код ниже.

function RandArray(array){
    var rand = Math.random()*array.length | 0;
    var rValue = array[rand];
    return rValue;
}
var myArray = ['one', 'two', 'three', 'four', 'five', 'six'];
var rValue = RandArray(myArray);
console.log(rValue)

Выход:

six

Если вы снова запустите код, результат изменится. Теперь, чтобы выбрать случайное значение из массива, вам достаточно вызвать функцию RandArray().

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Сопутствующая статья - JavaScript Array

  • Проверьте, содержит ли массив значение в JavaScript
  • Преобразование аргументов в массив в JavaScript
  • Удалить последний элемент из массива в JavaScript
  • JavaScript добавляет массив к другому
  • Добавить объект в массив в JavaScript