HomeLập trìnhJavaScriptGiải thích phương...

Giải thích phương thức JavaScript Math.random()


phương pháp ngẫu nhiên

JavaScript Math.random() method là một phương thức tích hợp tuyệt vời để tạo ra các số ngẫu nhiên. Khi nào Math.random() được thực thi, nó trả về một số ngẫu nhiên có thể nằm trong khoảng từ 0 đến 1. Số 0 được bao gồm và số 1 bị loại trừ.

Tạo một số dấu phẩy động ngẫu nhiên trong khoảng từ 0 đến 1

Các Math.random() phương thức sẽ trả về một số dấu phẩy động (thập phân) lớn hơn hoặc bằng 0 và nhỏ hơn (nhưng không bao giờ bằng) 1. Nói cách khác 0 <= x < 1. Ví dụ:

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

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

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

(Tất nhiên, các số được trả về mỗi lần sẽ khác nhau. Điều này sẽ được giả định cho tất cả các ví dụ sau – các kết quả khác nhau sẽ xảy ra trên mỗi lần vượt qua.)

Để có được một số ngẫu nhiên giữa một phạm vi lớn hơn nhân kết quả của Math.random() bằng một con số.

Tạo một số dấu phẩy động ngẫu nhiên trong khoảng từ 0 đến tối đa được chỉ định

Thông thường, bạn không cần các số ngẫu nhiên trong khoảng từ 0 đến 1 – bạn cần các số lớn hơn hoặc số nguyên chẵn.

Đọc thêm  Cách xây dựng một phương thức bằng JavaScript

Ví dụ: nếu bạn muốn một số dấu phẩy động ngẫu nhiên trong khoảng từ 0 đến 10, bạn có thể sử dụng:

var x = Math.random()*10;

console.log(x);
// 4.133793901445541

Tạo một số dấu phẩy động ngẫu nhiên trong một phạm vi

Nếu bạn cần một số dấu phẩy động ngẫu nhiên nằm trong khoảng giữa hai số cụ thể, bạn có thể thực hiện như sau:

var min = 83.1;
var max = 193.36;

var x = Math.random()*(max - min)+min;

console.log(x);
// 126.94014012699063

Tạo một số nguyên ngẫu nhiên trong khoảng từ 0 đến tối đa

Thường thì bạn cần số nguyên. Để làm điều này, bạn sẽ phải sử dụng một số phương pháp khác từ Math vật, Math.floor() (làm tròn xuống số nguyên gần nhất) và Math.ceil() (làm tròn đến số nguyên gần nhất).

Ví dụ: nếu bạn cần chọn ngẫu nhiên từ một mảng gồm 10 phần tử, bạn sẽ cần một số ngẫu nhiên từ 0 đến 9 (hãy nhớ rằng các mảng không được lập chỉ mục).

var x = Math.floor(Math.random()*10);

console.log(x);
// 7

(Nhớ lấy Math.random() sẽ không bao giờ trả lại chính xác 1, vì vậy Math.random()*10 sẽ không bao giờ trả về chính xác 10. Điều này có nghĩa là sau khi làm tròn xuống, kết quả sẽ luôn là 9 hoặc nhỏ hơn.)

Tạo một số nguyên ngẫu nhiên trong khoảng từ 1 đến tối đa

Nếu bạn cần một số ngẫu nhiên với số tối thiểu là 1 (ví dụ: chọn một ngày ngẫu nhiên trong tháng 1), bạn có thể sử dụng Math.ceil() phương pháp.

var x = Math.ceil(Math.random()*31);

console.log(x);
// 23

Một cách khác là sử dụng chức năng trước đó (sử dụng Math.floor()) và thêm 1 vào nó:

var x = Math.floor(Math.random()*31)+1;

console.log(x);
// 17

Tạo một số nguyên ngẫu nhiên trong một phạm vi

Cuối cùng, đôi khi bạn cần một số nguyên ngẫu nhiên giữa hai số nguyên cụ thể. Ví dụ: nếu bạn đang cố chọn vé xổ số và bạn biết số của số thấp nhất và số lớn nhất:

var min = 1718;
var max = 3429;

var x = Math.floor(Math.random()*(max-min+1)+min);

console.log(x);
//2509

Math.random() ngẫu nhiên như thế nào?

Có thể chỉ ra rằng số được trả về bởi Math.random() là một số giả ngẫu nhiên vì không máy tính nào có thể tạo ra một số thực sự ngẫu nhiên, thể hiện tính ngẫu nhiên trên mọi thang đo và trên mọi kích thước của tập dữ liệu. Tuy nhiên, số giả ngẫu nhiên được tạo bởi Math.random() thường là đủ cho nhu cầu của gần như bất kỳ chương trình nào bạn có thể viết. Tính không ngẫu nhiên thực sự chỉ trở nên rõ ràng trong các tập hợp số lớn về mặt thiên văn hoặc khi cần các số thập phân chính xác bất thường.

Đọc thêm  Tìm hiểu cách thao tác CSS bằng JavaScript bằng cách mã hóa khung ảnh động



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status