Hướng dẫn get random number in range javascript - lấy số ngẫu nhiên trong phạm vi javascript

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 window.crypto.getRandomValues(). 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 window.crypto.getRandomValues() 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;
}
0 và nhỏ hơn (và không bằng)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
1.

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;
}
0 (hoặc số nguyên tiếp theo lớn hơn
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
0 nếu
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
0 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;
}
1.

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 getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
6 để 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 getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
6 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 getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
7 ở 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 getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
8 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

Sau khi tạo một số ngẫu nhiên bằng chương trình máy tính, nó vẫn được coi là một số ngẫu nhiên nếu số được chọn là một phần hoặc toàn bộ số ban đầu. Nhưng nếu nó được thay đổi, thì các nhà toán học không chấp nhận nó như một số ngẫu nhiên và họ có thể gọi nó là một số thiên vị.

Nhưng nếu bạn đang phát triển một chương trình cho một nhiệm vụ đơn giản, đây sẽ không phải là một trường hợp cần xem xét. Nhưng nếu bạn đang phát triển một chương trình để tạo ra một số ngẫu nhiên cho một thứ có giá trị như chương trình xổ số hoặc trò chơi đánh bạc, thì chương trình của bạn sẽ bị quản lý từ chối nếu bạn không xem xét về trường hợp trên.

Vì vậy, đối với những người đó, đây là gợi ý của tôi:

Tạo một số ngẫu nhiên bằng cách sử dụng Math.random() (giả sử

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):

Now for [0,10) ==>  n*10 (i.e. one digit) and for[10,100) ==> n*100 (i.e., two digits) and so on. Here square bracket indicates that the boundary is inclusive and a round bracket indicates the boundary is exclusive.

Sau đó loại bỏ phần còn lại sau điểm thập phân. (tức là, lấy sàn) - sử dụng math.floor (). Điều này có thể thực hiện được.

Nếu bạn biết cách đọc bảng số ngẫu nhiên để chọn một số ngẫu nhiên, bạn sẽ biết quy trình trên (nhân với 1, 10, 100, v.v.) nơi của điểm thập phân).

Nghiên cứu ví dụ sau và phát triển nó theo nhu cầu của bạn.

Nếu bạn cần một mẫu [0,9] thì sàn của N10 là câu trả lời của bạn và nếu bạn cần [0,99] thì sàn của N100 là câu trả lời của bạn, v.v.

Bây giờ, hãy để Lừa bước vào vai trò của bạn:

Bạn đã yêu cầu các con số trong một phạm vi cụ thể. . không thiên vị.)

Vì vậy, hãy xem xét phạm vi của bạn ==> [78, 247] số phần tử của phạm vi = 247 - 78 + 1 = 170; (Vì cả hai ranh giới đều bao gồm).

/* Method 1: */
    var i = 78, j = 247, k = 170, a = [], b = [], c, d, e, f, l = 0;
    for(; i <= j; i++){ a.push(i); }
    while(l < 170){
        c = Math.random()*100; c = Math.floor(c);
        d = Math.random()*100; d = Math.floor(d);
        b.push(a[c]); e = c + d;
        if((b.length != k) && (e < k)){  b.push(a[e]); }
        l = b.length;
    }
    console.log('Method 1:');
    console.log(b);

/* Method 2: */

    var a, b, c, d = [], l = 0;
    while(l < 170){
        a = Math.random()*100; a = Math.floor(a);
        b = Math.random()*100; b = Math.floor(b);
        c = a + b;
        if(c <= 247 || c >= 78){ d.push(c); }else{ d.push(a); }
        l = d.length;
    }
    console.log('Method 2:');
    console.log(d);

Lưu ý: Trong Phương thức một, đầu tiên tôi đã tạo một mảng có chứa các số mà bạn cần và sau đó đặt chúng vào một mảng khác.

Trong Phương pháp hai, tạo số ngẫu nhiên và kiểm tra chúng nằm trong phạm vi mà bạn cần. Sau đó đặt nó vào một mảng. Ở đây tôi đã tạo hai số ngẫu nhiên và sử dụng tổng số chúng để tối đa hóa tốc độ của chương trình bằng cách giảm thiểu tốc độ thất bại có được một số hữu ích. Tuy nhiên, thêm các số được tạo cũng sẽ cung cấp một số sai lệch. Vì vậy, tôi muốn đề xuất phương pháp đầu tiên của tôi để tạo các số ngẫu nhiên trong một phạm vi cụ thể.

Trong cả hai phương thức, bảng điều khiển của bạn sẽ hiển thị kết quả (nhấn F12 trong Chrome để mở bảng điều khiển).

Làm thế nào để bạn tạo ra một số ngẫu nhiên trong một phạm vi trong Java?

Để tạo số ngẫu nhiên trong một phạm vi bằng cách sử dụng toán học ...
Khai báo giá trị tối thiểu của phạm vi ..
Khai báo giá trị tối đa của phạm vi ..
Sử dụng toán học công thức. Tầng (Math. Random ()*(Max-min+1)+Min) để tạo các giá trị với tối thiểu và bao gồm giá trị tối đa ..

Làm thế nào để bạn tạo ra một số ngẫu nhiên trong JavaScript?

Tạo JavaScript Số ngẫu nhiên JavaScript tạo số giả ngẫu nhiên với hàm Math.random ().Hàm này không có tham số và tạo số thập phân ngẫu nhiên từ 0 đến 1. Giá trị trả về có thể là 0, nhưng nó sẽ không bao giờ là 1.Math. random() . This function takes no parameters and creates a random decimal number between 0 and 1. The returned value may be 0, but it will never be 1.

Làm thế nào để bạn tạo ra một số ngẫu nhiên giữa hai giá trị trong JavaScript?

Ví dụ: Giá trị số nguyên giữa hai số trong JavaScript, bạn có thể tạo một số ngẫu nhiên với toán học.chức năng ngẫu nhiên ().Chương trình trên sẽ hiển thị đầu ra số nguyên giữa tối thiểu (bao gồm) đến tối đa (bao gồm).Đầu tiên, các giá trị tối thiểu và tối đa được lấy làm đầu vào từ người dùng.Math. random() function. The above program will show an integer output between min (inclusive) to max (inclusive). First, the minimum and maximum values are taken as input from the user.

Làm thế nào bạn sẽ tạo ra một số ngẫu nhiên trong JavaScript giữa 0 10?

Chúng ta chỉ có thể toán học.Phương thức ngẫu nhiên () để tạo số ngẫu nhiên trong khoảng từ 1 đến 10 trong JavaScript.Môn Toán.ngẫu nhiên () trả về một số ngẫu nhiên giữa 0 (bao gồm) và 1 (độc quyền).