Hướng dẫn is there a random function in javascript? - có chức năng ngẫu nhiên trong javascript không?


Math.random()

Math.random() Trả về một số ngẫu nhiên giữa 0 (bao gồm), & nbsp; và 1 (độc quyền):

Math.random() luôn trả về một số thấp hơn 1.


Số nguyên ngẫu nhiên JavaScript

Math.random() Được sử dụng với Math.floor() có thể được sử dụng để trả về các số nguyên ngẫu nhiên.

Không có thứ gọi là số nguyên JavaScript.

Chúng tôi đang nói về những con số không có số thập phân ở đây.

Thí dụ

// Trả về một số nguyên ngẫu nhiên từ 0 đến 9: math.floor (math.random () * 10);
Math.floor(Math.random() * 10);

Hãy tự mình thử »

Thí dụ

// Trả về một số nguyên ngẫu nhiên từ 0 đến 9: math.floor (math.random () * 10);
Math.floor(Math.random() * 11);

Hãy tự mình thử »

Thí dụ

// Trả về một số nguyên ngẫu nhiên từ 0 đến 9: math.floor (math.random () * 10);
Math.floor(Math.random() * 100);

Hãy tự mình thử »

Thí dụ

// Trả về một số nguyên ngẫu nhiên từ 0 đến 9: math.floor (math.random () * 10);
Math.floor(Math.random() * 101);

Hãy tự mình thử »

Thí dụ

// Trả về một số nguyên ngẫu nhiên từ 0 đến 9: math.floor (math.random () * 10);
Math.floor(Math.random() * 10) + 1;

Hãy tự mình thử »

Thí dụ

// Trả về một số nguyên ngẫu nhiên từ 0 đến 9: math.floor (math.random () * 10);
Math.floor(Math.random() * 100) + 1;

Hãy tự mình thử »



// Trả về một số nguyên ngẫu nhiên từ 0 đến 10: math.floor (math.random () * 11);

// Trả về một số nguyên ngẫu nhiên từ 0 đến 99: math.floor (math.random () * 100);

// Trả về một số nguyên ngẫu nhiên từ 0 đến 100: math.floor (math.random () * 101);

Thí dụ

// Trả về một số nguyên ngẫu nhiên từ 0 đến 9: math.floor (math.random () * 10);
  return Math.floor(Math.random() * (max - min) ) + min;
}

Hãy tự mình thử »

// Trả về một số nguyên ngẫu nhiên từ 0 đến 10: math.floor (math.random () * 11);

Thí dụ

// Trả về một số nguyên ngẫu nhiên từ 0 đến 9: math.floor (math.random () * 10);
  return Math.floor(Math.random() * (max - min + 1) ) + min;
}

Hãy tự mình thử »



Ví dụ

Lưu ý rằng vì các số trong JavaScript là số điểm nổi của IEEE 754 với hành vi tối đa đến gần nhất, các phạm vi được yêu cầu cho các chức năng bên dưới (không bao gồm chính cho Math.random()) không chính xác. Nếu giới hạn cực lớn được chọn (253 trở lên), thì có thể trong những trường hợp cực kỳ hiếm gặp để đạt đến giới hạn trên thường bị loại trừ.

Nhận một số ngẫu nhiên giữa 0 (bao gồm) và 1 (độc quyền)

Nhận một số ngẫu nhiên giữa hai giá trị

Ví dụ này trả về một số ngẫu nhiên giữa các giá trị được chỉ định. Giá trị trả về không thấp hơn (và có thể bằng)

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 và nhỏ hơn (và không bằng)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
5.

Nhận một số ngẫu nhiên giữa 0 (bao gồm) và 1 (độc quyền)

Nhận một số ngẫu nhiên giữa hai giá trị

Ví dụ này trả về một số ngẫu nhiên giữa các giá trị được chỉ định. Giá trị trả về không thấp hơn (và có thể bằng)

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 và nhỏ hơn (và không bằng)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
5.

Nhận một số ngẫu nhiên giữa 0 (bao gồm) và 1 (độc quyền)

Nhận một số ngẫu nhiên giữa hai giá trị

Ví dụ này trả về một số ngẫu nhiên giữa các giá trị được chỉ định. Giá trị trả về không thấp hơn (và có thể bằng)

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 và nhỏ hơn (và không bằng)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
5.

Nhận một số ngẫu nhiên giữa 0 (bao gồm) và 1 (độc quyền)

Nhận một số ngẫu nhiên giữa hai giá trị

Ví dụ này trả về một số ngẫu nhiên giữa các giá trị được chỉ định. Giá trị trả về không thấp hơn (và có thể bằng)

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 và nhỏ hơn (và không bằng)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
5.

Nhận một số ngẫu nhiên giữa 0 (bao gồm) và 1 (độc quyền)


Nhận một số ngẫu nhiên giữa hai giá trị

Ví dụ này trả về một số ngẫu nhiên giữa các giá trị được chỉ định. Giá trị trả về không thấp hơn (và có thể bằng)

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 và nhỏ hơn (và không bằng)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
5.

Nhận một số nguyên ngẫu nhiên giữa hai giá trị

Ví dụ này trả về một số nguyên ngẫu nhiên giữa các giá trị được chỉ định. Giá trị không thấp hơn

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 (hoặc số nguyên tiếp theo lớn hơn
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 nếu
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 không phải là số nguyên) và nhỏ hơn (nhưng không bằng)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
5.

Lưu ý: Có thể rất hấp dẫn khi sử dụng

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min) + min); // The maximum is exclusive and the minimum is inclusive
}
0 để thực hiện điều đó, nhưng làm như vậy sẽ khiến các số ngẫu nhiên của bạn tuân theo phân phối không đồng nhất, điều này có thể không được chấp nhận cho nhu cầu của bạn.
crypto.getRandomValues()



Cú pháp

Nhận một số nguyên ngẫu nhiên giữa hai giá trị, bao gồm

Mặc dù hàm function getRandomInt(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min) + min); // The maximum is exclusive and the minimum is inclusive } 1 ở trên được bao gồm ở mức tối thiểu, nhưng nó độc quyền ở mức tối đa. Điều gì sẽ xảy ra nếu bạn cần kết quả được bao gồm ở cả tối thiểu và tối đa? Hàm function getRandomInt(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min) + min); // The maximum is exclusive and the minimum is inclusive } 2 dưới đây thực hiện điều đó.

Thông số kỹ thuậtSự chỉ rõ
Đặc tả ngôn ngữ Ecmascript # Sec-Math.RandomTính tương thích của trình duyệt web


Bảng BCD chỉ tải trong trình duyệt

Xem thêm

Đặt x = math.random ();

Hãy tự mình thử »Trả về một số ngẫu nhiên trong khoảng từ 0 đến 10: Đặt x = math.random () * 10;Trả về một số ngẫu nhiên trong khoảng từ 0 đến 100: Đặt x = math.random () * 100);Một số toàn bộ ngẫu nhiên trong khoảng từ 1 đến 10:
Đặt x = math.floor ((math.random () * 10) + 1); Đặt x = math.floor ((math.random () * 10) + 1); Đặt x = math.floor ((math.random () * 10) + 1); Đặt x = math.floor ((math.random () * 10) + 1); Đặt x = math.floor ((math.random () * 10) + 1); Đặt x = math.floor ((math.random () * 10) + 1);


Hàm Math.random() trả về một số nổi, số giả ngẫu nhiên lớn hơn hoặc bằng 0 và nhỏ hơn 1, với phân phối xấp xỉ trên phạm vi đó-sau đó bạn có thể mở rộng theo phạm vi mong muốn của mình. Việc thực hiện chọn hạt giống ban đầu vào thuật toán tạo số ngẫu nhiên; Nó không thể được người dùng chọn hoặc đặt lại.Math.random() function returns a floating-point, pseudo-random number that's greater than or equal to 0 and less than 1, with approximately uniform distribution over that range — which you can then scale to your desired range. The implementation selects the initial seed to the random number generation algorithm; it cannot be chosen or reset by the user.

Thử nó

Lưu ý: Math.random() không cung cấp các số ngẫu nhiên an toàn bằng mã hóa. Không sử dụng chúng cho bất cứ điều gì liên quan đến bảo mật. Thay vào đó, sử dụng API tiền điện tử web và chính xác hơn là phương thức

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
2. Math.random() does not provide cryptographically secure random numbers. Do not use them for anything related to security. Use the Web Crypto API instead, and more precisely the
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
2 method.

Cú pháp

Giá trị trả về

Một số nổi, số giả ngẫu nhiên giữa 0 (bao gồm) và 1 (độc quyền).

Ví dụ

Lưu ý rằng vì các số trong JavaScript là số điểm nổi của IEEE 754 với hành vi tối đa đến gần nhất, các phạm vi được yêu cầu cho các chức năng bên dưới (không bao gồm chính cho Math.random()) không chính xác. Nếu giới hạn cực lớn được chọn (253 trở lên), thì có thể trong những trường hợp cực kỳ hiếm gặp để đạt đến giới hạn trên thường bị loại trừ.

Nhận một số ngẫu nhiên giữa 0 (bao gồm) và 1 (độc quyền)

function getRandom() {
  return Math.random();
}

Nhận một số ngẫu nhiên giữa hai giá trị

Ví dụ này trả về một số ngẫu nhiên giữa các giá trị được chỉ định. Giá trị trả về không thấp hơn (và có thể bằng)

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 và nhỏ hơn (và không bằng)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
5.

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

Nhận một số nguyên ngẫu nhiên giữa hai giá trị

Ví dụ này trả về một số nguyên ngẫu nhiên giữa các giá trị được chỉ định. Giá trị không thấp hơn

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 (hoặc số nguyên tiếp theo lớn hơn
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 nếu
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
4 không phải là số nguyên) và nhỏ hơn (nhưng không bằng)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
5.

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min) + min); // The maximum is exclusive and the minimum is inclusive
}

Lưu ý: Có thể rất hấp dẫn khi sử dụng

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min) + min); // The maximum is exclusive and the minimum is inclusive
}
0 để thực hiện điều đó, nhưng làm như vậy sẽ khiến các số ngẫu nhiên của bạn tuân theo phân phối không đồng nhất, điều này có thể không được chấp nhận cho nhu cầu của bạn. It might be tempting to use
function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min) + min); // The maximum is exclusive and the minimum is inclusive
}
0 to accomplish that, but doing so would cause your random numbers to follow a non-uniform distribution, which may not be acceptable for your needs.

Nhận một số nguyên ngẫu nhiên giữa hai giá trị, bao gồm

Mặc dù hàm

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min) + min); // The maximum is exclusive and the minimum is inclusive
}
1 ở trên được bao gồm ở mức tối thiểu, nhưng nó độc quyền ở mức tối đa. Điều gì sẽ xảy ra nếu bạn cần kết quả được bao gồm ở cả tối thiểu và tối đa? Hàm
function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min) + min); // The maximum is exclusive and the minimum is inclusive
}
2 dưới đây thực hiện điều đó.

function getRandomIntInclusive(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1) + min); // The maximum is inclusive and the minimum is inclusive
}

Thông số kỹ thuật

Sự chỉ rõ
Đặc tả ngôn ngữ Ecmascript # Sec-Math.Random
# sec-math.random

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm