HomeLập trìnhJavaScriptSố ngẫu nhiên...

Số ngẫu nhiên JavaScript – Cách tạo số ngẫu nhiên trong JS


Khi làm việc với một chương trình JavaScript, có thể đôi khi bạn cần tạo một số ngẫu nhiên.

Ví dụ: bạn có thể muốn tạo một số ngẫu nhiên khi phát triển trò chơi JavaScript, chẳng hạn như trò chơi đoán số.

JavaScript có nhiều phương thức tích hợp sẵn để làm việc với các con số và thực hiện các phép tính toán học. Một trong những phương pháp đó là Math.random() phương pháp.

Trong bài viết này, bạn sẽ học cách sử dụng Math.random() phương pháp lấy số ngẫu nhiên.

Đây là những gì chúng tôi sẽ đề cập:

  1. Giới thiệu về Math vật
  2. Math.random() sự cố cú pháp
    1. Cách tạo một số thập phân ngẫu nhiên với một chỉ định max
    2. Cách tạo một số thập phân ngẫu nhiên với một chỉ định minmax phạm vi
    3. Cách tạo một số nguyên ngẫu nhiên với một chỉ định max
    4. Cách tạo một số nguyên ngẫu nhiên với một chỉ định max bao gồm
    5. Cách tạo một số nguyên ngẫu nhiên với một chỉ định minmax phạm vi bao gồm

Cách sử dụng toán học trong JavaScript – Giới thiệu về Math Vật

JavaScript có Math đối tượng tĩnh tích hợp, cho phép bạn thực hiện các phép tính và phép toán.

Các Math đối tượng có một số phương thức tích hợp giúp thực hiện các thao tác đó chính xác hơn nhiều.

Cú pháp chung cho Math các phương thức đối tượng như sau:

Math.methodName(number);

Một số phương pháp phổ biến nhất là:

  • Math.round()
  • Math.ceil()
  • Math.floor()
  • Math.random()

Hãy xem xét một số ví dụ về cách triển khai các phương thức đó.

Nếu bạn muốn làm tròn một số đến số nguyên gần nhất, hãy sử dụng Math.round() phương pháp:

console.log(Math.round(6.2)); // 6

console.log(Math.round(6.3)); // 6

console.log(Math.round(6.5)); // 7

console.log(Math.round(6.8)); // 7

Nếu bạn muốn làm tròn một số hướng lên đến số nguyên gần nhất của nó, hãy sử dụng Math.ceil() phương pháp:

console.log(Math.ceil(6.2));  // 7

console.log(Math.ceil(6.3));  // 7

console.log(Math.ceil(6.5));  // 7

console.log(Math.ceil(6.8));  // 7

Nếu bạn muốn làm tròn một số xuống đến số nguyên gần nhất của nó, hãy sử dụng Math.floor() phương pháp:

console.log(Math.floor(6.2));  // 6

console.log(Math.floor(6.3));  // 6

console.log(Math.floor(6.5));  // 6

console.log(Math.floor(6.8)); // 6

Nếu bạn muốn tạo một ngẫu nhiên số, sử dụng Math.random() phương pháp:

console.log(Math.random());

// You will not get the same output

//first time running the program:
// 0.4928793139100267 

//second time running the program:
// 0.5420802533292215

// third time running the program:
// 0.5479835477696466

cái gì là Math.random() Phương thức trong JavaScript? – Phân tích cú pháp

Cú pháp cho Math.random() phương pháp như sau:

Math.random();

Phương thức này không nhận bất kỳ tham số nào.

Đọc thêm  JavaScript forEach() – Mảng JS cho mỗi ví dụ về vòng lặp

Theo mặc định, phương thức trả về một giá trị là một số thập phân ngẫu nhiên (hoặc dấu phẩy động) số giữa 1.

Một cái gì đó cần lưu ý về điều này là là bao gồm, trong khi 1không phải bao hàm.

Vì vậy, nó sẽ trả về một giá trị lớn hơn hoặc bằng và luôn nhỏ hơn và không bao giờ bằng 1.

Cách tạo số thập phân ngẫu nhiên với số được chỉ định max Hạn chế sử dụng Math.random() trong JavaScript

Như bạn đã thấy cho đến nay, theo mặc định, các số Math.random() tạo ra là nhỏ.

Điều gì sẽ xảy ra nếu bạn muốn tạo một số thập phân ngẫu nhiên bắt đầu từ và bao gồm, và cũng là lớn hơn hơn 1? Đối với điều này, bạn chỉ định một tối đa con số.

Cụ thể, bạn sẽ cần nhân số này max số với số ngẫu nhiên từ Math.random().

Ví dụ: nếu bạn muốn tạo một số ngẫu nhiên giữa 10 bạn sẽ làm như sau:

console.log(Math.random() * 10);

// You won't get the same output
//9.495628210218175

Trong ví dụ trên, tôi đã nhân max con số (10), sẽ hoạt động như một giới hạn, với số kết quả từ Math.random().

Hãy nhớ rằng trong trường hợp này, số ngẫu nhiên sẽ nằm trong khoảng 10 – điều này có nghĩa là lớn hơn hoặc bằng và ít hơn và không bao giờ bằng 10.

Cách tạo số thập phân ngẫu nhiên với số được chỉ định minmax Phạm vi sử dụng Math.random() trong JavaScript

Nếu bạn muốn tạo một số thập phân ngẫu nhiên giữa một dãy số mà bạn chỉ định thì sao?

Bạn đã thấy trong phần trước cách chỉ định một maxnhưng nếu bạn đừng muốn phạm vi bắt đầu từ (phạm vi bắt đầu mặc định) là gì? Để làm điều này, bạn cũng có thể chỉ định một min.

Cú pháp chung để tạo một số thập phân giữa hai giá trị (hoặc phạm vi) trông giống như sau:

Math.random() * (max - min) + min;

Hãy lấy ví dụ sau:

// specify a minimum - where the range will start
let min = 20.4;

// specify a maximum - where the range will end
let max = 29.8;

Tôi đã tạo hai biến, minmax – ở đâu min sẽ là số nhỏ nhất và max số lớn nhất trong dãy.

Đọc thêm  Chức năng của người điều hành điểm thẩm vấn (?) trong JavaScript

Tiếp theo, tôi tạo một số ngẫu nhiên trong phạm vi đó bằng cách sử dụng cú pháp mà bạn đã thấy trước đó:

let min = 20.4;
let max = 29.8;

let randomNum = Math.random() * (max - min) + min;

console.log(randomNum);

// You won't get the same output
// 23.309418058783486

Một điều cần lưu ý ở đây là min là bao gồm, vì vậy số ngẫu nhiên sẽ lớn hơn hoặc bằng 20.4nhưng trái lại maxkhông phải không tính toán, vì vậy kết quả sẽ luôn là một số nhỏ hơn và không bao giờ bằng 29.8.

Cách tạo một số nguyên ngẫu nhiên với một chỉ định max Hạn chế sử dụng Math.random() trong JavaScript

Cho đến nay, bạn đã thấy cách tạo ngẫu nhiên số thập phân con số.

Điều đó nói rằng, có một cách để tạo ngẫu nhiên trọn số sử dụng Math.random().

Bạn sẽ cần phải vượt qua kết quả của Math.random() tính toán để Math.floor() phương pháp bạn đã thấy trước đó.

Cú pháp chung cho điều này là như sau:

Math.floor(Math.random());

Các Math.floor() sẽ làm tròn số thập phân ngẫu nhiên thành số nguyên (hoặc số nguyên) gần nhất.

Trên hết, bạn có thể chỉ định một max con số.

Vì vậy, ví dụ: nếu bạn muốn tạo một số ngẫu nhiên giữa 10bạn sẽ làm như sau:

console.log(Math.floor(Math.random() * 10));

// You won't get the same output
// 0

Trong ví dụ này, tôi đã nhân max số (là 10 trong trường hợp này) với kết quả từ Math.random() và chuyển kết quả tính toán này cho Math.floor().

Một điều cần lưu ý ở đây là số ngẫu nhiên sẽ nằm trong khoảng bao gồm và 10 loại trừ. Vì vậy, các số có thể lớn hơn hoặc bằng và ít hơn và không bao giờ bằng 10.

Cách tạo một số nguyên ngẫu nhiên với một chỉ định max Bao gồm giới hạn sử dụng Math.random() trong JavaScript

Trong ví dụ từ phần trước, tôi đã tạo một số ngẫu nhiên giữa các số (bao gồm) và 10 (loại trừ).

Đọc thêm  Cách chặn các trang web không hiệu quả và tăng năng suất của bạn bằng JavaScript

Cho đến nay, bạn đã thấy rằng bạn không thể tạo một số ngẫu nhiên bằng số đã chỉ định max.

Điều gì xảy ra nếu bạn muốn tạo một số ngẫu nhiên bao gồm giá trị tối đa được chỉ định?

Giải pháp cho vấn đề này là thêm 1 trong quá trình tính toán.

Vì vậy, hãy xem lại mã từ phần trước:

console.log(Math.floor(Math.random() * 10));

Bây giờ bạn sẽ viết lại mã như vậy:

console.log(Math.floor(Math.random() * 10) + 1);

// You will not get the same output
// 10

Một điều cần lưu ý ở đây là mã này sẽ tạo ra một số nguyên ngẫu nhiên giữa 1(không phải ) và 10 – bao gồm 10.

Cách tạo một số nguyên ngẫu nhiên với một chỉ định minmax Phạm vi bao gồm sử dụng Math.random() trong JavaScript

Cho đến giờ, bạn đã biết cách tạo một số nguyên ngẫu nhiên với một max bạn chỉ định.

Như bạn đã thấy trong ví dụ trên, đoạn mã để tạo max số bao gồm sử dụng số 1 là số bắt đầu chứ không phải .

Điều đó nói rằng, có một cách để bạn chỉ định một phạm vi bao gồm các số. Đối với điều này, bạn cần chỉ định một minmax.

Trong phần trước, bạn đã thấy cách tạo một số ngẫu nhiên giữa một phạm vi được chỉ định và mã này cũng tương tự. Thay đổi duy nhất là bạn chuyển kết quả cho Math.floor() phương pháp làm tròn số thập phân xuống số nguyên gần nhất.

Vì vậy, mã chung là như sau:

Math.floor(Math.random() * (max - min) + min);

Để làm cho phạm vi đó bao gồmbạn sẽ làm như sau:

console.log(Math.floor(Math.random() * (max - min + 1)) + min);

Vì vậy, để tạo một số ngẫu nhiên giữa các số (bao gồm) 10 (bao gồm), bạn sẽ viết như sau:

let min = 0;
let max = 10;

console.log(Math.floor(Math.random() * (max - min + 1)) + min);

//You will not get the same output
// 0

Phần kết luận

Và bạn có nó rồi đấy! Bây giờ bạn biết làm thế nào Math.random() phương pháp hoạt động và một số cách bạn có thể sử dụng nó.

Để tìm hiểu thêm về JavaScript, hãy xem Chứng nhận cấu trúc dữ liệu và thuật toán JavaScript của freeCodeCamp.

Đó là một chương trình giảng dạy miễn phí, được cân nhắc kỹ lưỡng và có cấu trúc, nơi bạn sẽ học một cách tương tác. Cuối cùng, bạn cũng sẽ xây dựng 5 dự án để nhận chứng chỉ và củng cố kiến ​​thức của mình.

Cảm ơn vì đã đọc!



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