Math random javascript это

Math.random()

Math.random() — это функция встроенного объекта Math , которая возвращает псевдослучайное число с плавающей запятой из диапазона от 0 включительно, до 1 не включительно.

Синтаксис

Опубликуем результат в console.

 let randomNumber = Math.random() console.log(randomNumber) // или просто console.log(Math.random()) 

Особенности генерации случайных чисел

1. Math.random() генерирует случайные числа на основе алгоритма, который в итоге можно просчитать, поэтому метод не подходит там, где речь идет о безопасности.

2. Разработчик или пользователь не может выбрать алгоритм, который будет использовать метод для генерации рандомного числа.

3. Math.random() формирует числа похожие на 0.6592126750964376 или 0.4571938784553331. В дальнейшем результат масштабируются до нужного формата и диапазона.

4. Результатом метода может быть ноль, но единица никогда.

5. В сферах связанных с безопасностью рекомендуется использовать Web Cryptography API и его методы getRandomValues() и generateKey() .

Случайное число в диапазоне

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

 function getRandomNumber(min, max)

Целое число в диапазоне

Получаем целое число от минимума (включительно) до максимума (не включительно)

 function getRandomNumber(min, max)
 function getRandomNumber(min, max)

ceil() — округляет в большую сторону, floor() в меньшую.

Случайное число в диапазоне включительно max

Функция учитывает недостатки предыдущих решений и выводит случайные числа от и до включительно для обоих случаев.

 function getRandomNumber(min, max)
 function getRandomNumber(min, max)
 function getRandomNumber(min, max)

round() — округляет до ближайшего целого.

Итого

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

Skypro — научим с нуля

Источник

Function random #

math.js

Return a random number larger or equal to min and smaller than max using a uniform distribution.

Syntax #

math.random() // generate a random number between 0 and 1 math.random(max) // generate a random number between 0 and max math.random(min, max) // generate a random number between min and max math.random(size) // generate a matrix with random numbers between 0 and 1 math.random(size, max) // generate a matrix with random numbers between 0 and max math.random(size, min, max) // generate a matrix with random numbers between min and max 

Parameters #

Parameter Type Description
size Array | Matrix If provided, an array or matrix with given size and filled with random values is returned
min number Minimum boundary for the random value, included
max number Maximum boundary for the random value, excluded

Returns #

Throws #

Examples #

math.random() // returns a random number between 0 and 1 math.random(100) // returns a random number between 0 and 100 math.random(30, 40) // returns a random number between 30 and 40 math.random([2, 3]) // returns a 2x3 matrix with random numbers between 0 and 1 

Источник

Math.random()

Метод Math.random() возвращает псевдослучайное число с плавающей запятой из диапазона [0, 1) , то есть, от 0 (включительно) до 1 (но не включая 1), которое затем можно отмасштабировать до нужного диапазона. Реализация сама выбирает начальное зерно для алгоритма генерации случайных чисел; оно не может быть выбрано или сброшено пользователем.

Интерактивный пример

Примечание: метод Math.random() не предоставляет криптографически стойкие случайные числа. Не используйте его ни для чего, связанного с безопасностью. Вместо него используйте Web Crypto API (API криптографии в вебе) и более точный метод window.crypto.getRandomValues() .

Синтаксис

Возвращаемое значение

Псевдослучайное число с плавающей запятой от 0 (включительно) до 1 (не считая).

Примеры

Обратите внимание, что поскольку числа в JavaScript являются числами с плавающей запятой стандарта IEEE 754 с поведением при округлении к ближайшему чётному, все эти диапазоны (исключая диапазон с простым вызовом Math.random() ), не точны. Если заданы очень большие границы (253 или выше), возможен крайне редкий случай вычисления обычно исключённой верхней границы.

Получение случайного числа от 0 (включительно) до 1 (не включая)

function getRandom()  return Math.random(); > 

Получение случайного числа в заданном интервале

Этот пример возвращает случайное число в заданном интервале. Возвращаемое значение не менее (и может быть равно) min и не более (и не равно) max .

function getRandomArbitrary(min, max)  return Math.random() * (max - min) + min; > 

Получение случайного целого числа в заданном интервале

Этот пример возвращает случайное целое число в заданном интервале. Возвращаемое значение не менее min (или следующее целое число, которое больше min , если min не целое) и не более (но не равно) max .

function getRandomInt(min, max)  min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min)) + min; //Максимум не включается, минимум включается > 

Примечание: Может показаться заманчивым использовать Math.round() для округления, но это может сделать распределение неравномерным, что может оказаться неприемлемым для ваших нужд.

Получение случайного целого числа в заданном интервале, включительно

Функция getRandomInt() выше включает минимальное значение, но не включает максимальное. Но что если вам нужно, чтобы включалось и минимальное, и максимальное значение? Функция getRandomIntInclusive() решает этот вопрос.

function getRandomIntInclusive(min, max)  min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; //Максимум и минимум включаются > 

Спецификации

Совместимость с браузерами

BCD tables only load in the browser

Found a content problem with this page?

This page was last modified on 22 окт. 2022 г. by MDN contributors.

Your blueprint for a better internet.

Источник

JavaScript Math.random() Method Explained

JavaScript Math.random() Method Explained

The JavaScript Math.random() method is an excellent built-in method for producing random numbers. When Math.random() is executed, it returns a random number that can be anywhere between 0 and 1. The 0 is included and 1 is excluded.

Generating a random floating point number between 0 and 1

The Math.random() method will return a floating point (decimal) number greater than or equal to 0 and less than (but never equal to) 1. In other words 0

console.log(Math.random()); // 0.7069207248635578 console.log(Math.random()); // 0.765046694794209 console.log(Math.random()); // 0.14069121642698246

(Of course, the numbers returned will be different every time. This will be assumed for all following examples — different results will happen on each pass.)

To get a random number between a larger range multiply the result of Math.random() by a number.

Generating a random floating point number between 0 and a specified max

Usually you do not need random numbers between 0 and 1 — you need larger numbers or even integers.

For example, if you want a random floating point number between 0 and 10, you could use:

var x = Math.random()*10; console.log(x); // 4.133793901445541

Generating a random floating point number within a range

If you need a random floating point number that ranges between two specific numbers, you could do something like this:

var min = 83.1; var max = 193.36; var x = Math.random()*(max - min)+min; console.log(x); // 126.94014012699063

Generating a random integer between 0 and a max

Often you need integers. To do this you will have to use some other methods from the Math object, Math.floor() (rounds down to the nearest integer) and Math.ceil() (rounds up to the nearest integer).

For example, if you need to select randomly from an array of 10 elements, you would need a random number between 0 and 9 inclusive (remember that arrays are zero indexed).

var x = Math.floor(Math.random()*10); console.log(x); // 7

(Remember that Math.random() will never return exactly 1, so Math.random()*10 will never return exactly 10. This means that after rounding down, the result will always be 9 or less.)

Generating a random integer between 1 and a max

If you need a random number with the minimum number being 1 (for example picking a random day in January) you could use the Math.ceil() method.

var x = Math.ceil(Math.random()*31); console.log(x); // 23

Another way would have been to use the previous function (using Math.floor() ) and add 1 to it:

var x = Math.floor(Math.random()*31)+1; console.log(x); // 17

Generating a random integer within a range

Lastly, occasionally you need a random integer between two specific integers. For example, if you are trying to pick raffle tickets and you know the numbers of the lowest and largest number:

var min = 1718; var max = 3429; var x = Math.floor(Math.random()*(max-min+1)+min); console.log(x); //2509

How random is Math.random()?

It may be pointed out that the number returned by Math.random() is a pseudo-random number as no computer can generate a truly random number, that exhibits randomness over all scales and over all sizes of data sets. However, the pseudo-random number generated by Math.random() is usually sufficient for the needs of nearly any program you may write. The not-truly-randomness only becomes apparent in astronomically large number sets or when uncommonly precise decimals are needed.

Источник

Читайте также:  Java and excel programming
Оцените статью