Bagaimana untuk mendapatkan integer rawak dalam js

下次还敢
Lepaskan: 2024-05-06 10:09:18
asal
697 orang telah melayarinya

Terdapat banyak cara untuk mendapatkan integer rawak dalam JavaScript, termasuk: menggunakan Math.floor(Math.random() * (maks - min + 1)) + min: menjana nombor rawak antara Integer min dan maks (termasuk); gunakan Crypto.getRandomValues(): hasilkan integer rawak yang lebih selamat antara min dan maks (termasuk).

Bagaimana untuk mendapatkan integer rawak dalam js

Cara mendapatkan integer rawak dalam JavaScript

Terdapat banyak cara untuk mendapatkan integer rawak dalam JavaScript, dan kaedah yang anda pilih bergantung pada keperluan khusus anda.

Math.floor(Math.random() * (maks - min + 1)) + min

Kaedah yang paling biasa ialah menggunakan Math.random() dan Math . floor() Fungsi: Math.random()Math.floor() 函数:

  • Math.random() 返回一个介于 0(含)和 1(不含)之间的随机浮点数。
  • Math.floor() 将浮点数向下取整。

Math.random() 乘以 max - min + 1,可以得到一个介于 minmax(含)之间的随机浮点数。然后使用 Math.floor() 将浮点数向下取整,得到一个整数。minmax 是要生成的随机整数的最小值和最大值。

示例:

<code class="js">// 生成一个介于 0 和 9(含)之间的随机整数
let randomInteger = Math.floor(Math.random() * (9 - 0 + 1)) + 0;
console.log(randomInteger); // 输出:介于 0 和 9 之间的随机整数</code>
Salin selepas log masuk

Crypto.getRandomValues()

对于需要更安全随机整数的情况下,可以使用 Crypto.getRandomValues() 方法:

  • window.crypto.getRandomValues() 返回一个包含随机字节数组的 Uint8Array

可以使用 fromArrayBuffer() 方法将 Uint8Array

  • Math.random() Mengembalikan nombor titik terapung rawak antara 0 (termasuk) dan 1 (eksklusif).
  • Math.floor() Membundarkan nombor titik terapung ke bawah.
Darab Math.random() dengan maks - min + 1 untuk mendapatkan nilai antara min A rawak nombor titik terapung antara dan maks (termasuk). Kemudian gunakan Math.floor() untuk membundarkan nombor titik terapung ke bawah kepada integer. min dan max ialah nilai minimum dan maksimum bagi integer rawak yang akan dijana. .
  • window.crypto.getRandomValues() mengembalikan Uint8Array yang mengandungi tatasusunan bait rawak.
  • Anda boleh menggunakan kaedah fromArrayBuffer() untuk menukar Uint8Array kepada integer:

    Contoh: 🎜🎜
    <code class="js">// 生成一个介于 100 和 999(含)之间的随机整数
    let buffer = new ArrayBuffer(4);
    window.crypto.getRandomValues(buffer);
    let int = new DataView(buffer).getUint32(0);
    let min = 100;
    let max = 999;
    let randomInteger = int % (max - min + 1) + min;
    console.log(randomInteger); // 输出:介于 100 和 999 之间的随机整数</code>
    Salin selepas log masuk

    Atas ialah kandungan terperinci Bagaimana untuk mendapatkan integer rawak dalam js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    sumber:php.cn
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan