Giả sử bạn muốn tạo một số ngẫu nhiên trong khoảng từ 10 đến 15 – bạn làm điều đó như thế nào trong JavaScript?
Trong JavaScript, có phương thức
Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
7 của đối tượng Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
8 trả về các số ngẫu nhiên. Nhưng điều này có một giới hạn phạm vi. Vì vậy, hãy xem làm thế nào chúng ta có thể tận dụng phương pháp này để giải quyết các phạm vi khác nhauTôi đã tạo một phiên bản video của bài viết này mà bạn có thể sử dụng để bổ sung cho việc học của mình tại đây
Cách sử dụng Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
9 trong JavaScript
Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
Phương thức
Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
7 trả về một số thực ngẫu nhiên giữa function getRandom[min, max] {
// code here
}
1 và function getRandom[min, max] {
// code here
}
0. Đây là một ví dụ về mãMath.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
Từ kết quả, bạn có thể thấy ba số ngẫu nhiên trong khoảng từ 0 đến 1. Bây giờ hãy giải quyết các phạm vi khác
Cách lấy số ngẫu nhiên trong một phạm vi trong JavaScript
Chúng tôi sẽ có một chức năng mà chúng tôi có thể sử dụng cho các phạm vi khác nhau
function getRandom[min, max] {
// code here
}
Hàm này nhận các đối số
function getRandom[min, max] {
// code here
}
1 [tham số thấp nhất của dải ô] và function getRandom[min, max] {
// code here
}
2 [tham số cao nhất của dải ô]. Bây giờ, hãy sử dụng phạm vi này và Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
9 để lấy một số ngẫu nhiênfunction getRandom[min, max] {
const floatRandom = Math.random[]
const difference = max - min
// random between 0 and the difference
const random = Math.round[difference * floatRandom]
const randomWithinRange = random + min
return randomWithinRange
}
Đây là những gì đang xảy ra trong chức năng
- đầu tiên, chúng tôi nhận được một số nổi ngẫu nhiên bằng cách sử dụng
4function getRandom[min, max] { // code here }
- tiếp theo, chúng tôi tìm thấy sự khác biệt giữa phạm vi cao nhất và thấp nhất
- tiếp theo, chúng tôi đánh giá một số ngẫu nhiên giữa 0 và sự khác biệt giữa các phạm vi
Để có được số ngẫu nhiên này, chúng tôi nhân sự khác biệt với số ngẫu nhiên mà chúng tôi nhận được từ
Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
9 và chúng tôi áp dụng function getRandom[min, max] {
// code here
}
6 trên kết quả để làm tròn số thành số nguyên gần nhấtVì vậy, nếu, ví dụ,
Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
9 trả về 0. 3 và sự khác biệt giữa các phạm vi là 5, nhân chúng với nhau cho 1. 5. Sau đó, sử dụng function getRandom[min, max] {
// code here
}
6 làm cho nó thành 2 nằm trong khoảng từ 0 đến 5 [sự khác biệt]Một vi dụ khac. nếu
Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
9 trả về 0. 9 và sự khác biệt giữa các phạm vi được chỉ định là 8, nhân chúng với nhau sẽ cho 7. 2. Sau đó, sử dụng function getRandom[min, max] {
// code here
}
6 làm cho nó trở thành 7 nằm trong khoảng từ 0 đến 8 [sự khác biệt]Bây giờ chúng ta có một số ngẫu nhiên giữa 0 và chênh lệch, chúng ta có thể thêm số ngẫu nhiên đó vào phạm vi tối thiểu. Làm điều này cho chúng ta một kết quả nằm trong phạm vi tối thiểu và tối đa
Chúng tôi gán kết quả này cho
function getRandom[min, max] {
const floatRandom = Math.random[]
const difference = max - min
// random between 0 and the difference
const random = Math.round[difference * floatRandom]
const randomWithinRange = random + min
return randomWithinRange
}
1 và trả về từ hàm. Bây giờ hãy xem chức năng được sử dụngMath.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
1Ở đây, chúng tôi sử dụng một
function getRandom[min, max] {
// code here
}
1 của 10 và một function getRandom[min, max] {
// code here
}
2 của 15. Bốn lần chúng tôi gọi hàm với các đối số này, bạn có thể thấy kết quả là các số ngẫu nhiên trong phạm vi được cung cấpHãy xem một ví dụ khác về chức năng được sử dụng
Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
4Ở đây, chúng tôi sử dụng một
function getRandom[min, max] {
// code here
}
1 của 180 và một function getRandom[min, max] {
// code here
}
2 của 450. Một lần nữa, bạn có thể thấy kết quả số ngẫu nhiên từ chức năng của chúng tôikết thúc
Nếu bạn cần tạo một số ngẫu nhiên trong một phạm vi cụ thể, tôi hy vọng bài viết này đã chỉ cho bạn cách
Trong bài viết này, tôi đã giải thích giới hạn phạm vi của
Math.random[]
// 0.26636355538480383
Math.random[]
// 0.6272624945940997
Math.random[]
// 0.05992852707853347
9 trả về một số ngẫu nhiên trong khoảng từ 0 đến 1. Và tôi cũng đã chỉ cho bạn cách tận dụng phương pháp toán học này để tạo một hàm có thể sử dụng lại để tạo các số ngẫu nhiên trong bất kỳ phạm vi nào bạn chọnVui lòng chia sẻ bài viết này nếu bạn thấy hữu ích
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Người ủng hộ nhà phát triển và Người sáng tạo nội dung đam mê chia sẻ kiến thức của tôi về Công nghệ. Tôi dạy JavaScript / ReactJS / NodeJS / React Frameworks / TypeScript / et al
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu