Math.random în JavaScript

Numere și matematică Toate browserele, Node.js

Returnează un număr aleatoriu între 0 (inclusiv) și 1 (exclusiv).

Sintaxă
Math.random()

Ce face Math.random

Math.random dă un număr zecimal aleatoriu, cel puțin 0 și mai mic decât 1. Pentru un întreg între min și max, inclusiv, folosește formula Math.floor(Math.random() * (max - min + 1)) + min.

Numerele nu sunt sigure pentru parole sau coduri de securitate. Pentru acestea folosește crypto.getRandomValues() sau crypto.randomUUID().

Ce returnează

Un număr zecimal din intervalul [0, 1).

Exemple

Exemplul 1: Zar și număr între două limite

Rezultatul diferă la fiecare rulare.

function intreg(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

console.log(Math.random());
console.log("Zar: " + intreg(1, 6));

Rezultat posibil (diferă la fiecare rulare)

0.7312453829061935
Zar: 5

Exemplul 2: Element aleatoriu dintr-un tablou

const sfaturi = ["Fă backup", "Actualizează pluginurile", "Folosește parole lungi"];

console.log(sfaturi[Math.floor(Math.random() * sfaturi.length)]);

Rezultat posibil (diferă la fiecare rulare)

Actualizează pluginurile

Greșeli frecvente

  • Folosești Math.round în loc de Math.floor în formulă. Capetele intervalului apar de două ori mai rar decât celelalte numere.
  • Generezi token-uri de resetare a parolei cu Math.random. Sunt previzibile. Folosește crypto.randomUUID().

Comenzi înrudite

  • Math.round / floor / ceil: Rotunjește un număr: la cel mai apropiat întreg, în jos sau în sus.
  • length: Numărul de caractere dintr-un șir sau numărul de elemente dintr-un tablou.