Giải pháp nhanh
function randomRange(myMin, myMax) {
return Math.floor(Math.random() * (myMax - myMin + 1) + myMin);
}
Giải thích mã
Math.random()
tạo số ngẫu nhiên của chúng tôi trong khoảng từ 0 đến ≈ 0,9.- Trước khi nhân nó, nó giải quyết phần giữa dấu ngoặc đơn
(myMax - myMin + 1)
vì toán tử nhóm( )
. - Kết quả của phép nhân đó được theo sau bằng cách thêm
myMin
và sau đó “làm tròn” thành số nguyên lớn nhất nhỏ hơn hoặc bằng nó (ví dụ: 9,9 sẽ cho kết quả là 9)
Nếu các giá trị là myMin = 1, myMax= 10
một kết quả có thể như sau:
Math.random() = 0.8244326990411024
(myMax - myMin + 1) = 10 - 1 + 1 -> 10
a * b = 8.244326990411024
c + myMin = 9.244326990411024
Math.floor(9.244326990411024) = 9
randomRange
nên sử dụng cả hai myMax
và myMin
và trả về một số ngẫu nhiên trong phạm vi của bạn.
Bạn không thể vượt qua bài kiểm tra nếu bạn chỉ sử dụng lại chức năng ourRandomRange
bên trong của bạn randomRange
công thức. Bạn cần viết công thức của riêng mình sử dụng các biến myMax
và myMin
. Nó sẽ làm công việc tương tự như sử dụng ourRandomRange
nhưng đảm bảo rằng bạn đã hiểu các nguyên tắc của Math.floor()
và Math.random()
chức năng.