Dùng Math.random() (0 đến <1) nhân với độ rộng khoảng, cộng giá trị bắt đầu, làm tròn xuống với Math.floor().
Công thức
Math.floor(Math.random() * (max - min + 1)) + min
Ví dụ
function getRandomInRange(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandomInRange(400, 480));
Cách chạy
node demo.js
Kết quả mẫu
401
Giải thích: Math.random() ∈ [0, 1). Nhân (max-min+1) → [0, max-min+1). floor → [0, max-min]. Cộng min → [min, max].
ES2022: Math.randomInt(min, max+1) (chưa chuẩn, chỉ một số engine hỗ trợ).