0
0
Lập trình
Admin Team
Admin Teamtechmely

Cách Tạo Số Ngẫu Nhiên Trong JavaScript

Đăng vào 4 tháng trước

• 4 phút đọc

Khi xây dựng các ứng dụng động, trò chơi hay mô phỏng, việc tạo ra các giá trị ngẫu nhiên trở thành một phần thiết yếu của quá trình phát triển. Dù bạn đang tạo một trò chơi xúc xắc, chọn người thắng cuộc ngẫu nhiên hay xáo trộn các mục, hiểu cách tạo ra số ngẫu nhiên trong JavaScript là điều quan trọng. Trong bài viết này, chúng ta sẽ khám phá các phương pháp khác nhau để tạo số ngẫu nhiên trong JavaScript, kèm theo các ví dụ thực tiễn và các thực hành tốt nhất.

🧠 Số Ngẫu Nhiên Trong JavaScript Là Gì?

JavaScript không có kiểu số ngẫu nhiên tích hợp sẵn — nhưng nó cung cấp một phương thức tiện lợi thông qua đối tượng Math để tạo ra một số ngẫu nhiên. Hàm: Math.random() trả về một số thực ngẫu nhiên giả nằm giữa 0 (bao gồm)1 (không bao gồm). Ví dụ:

javascript Copy
console.log(Math.random());

// Kết quả: 0.4752843929

Điều này có nghĩa là nó không bao giờ trả về giá trị chính xác là 1, nhưng có thể trả về 0.

💻 Cách Tạo Số Ngẫu Nhiên Trong JavaScript

1. Tạo Số Ngẫu Nhiên Giữa 0 và 1

Cách đơn giản nhất:

javascript Copy
const num = Math.random();
console.log(num);

Cách này hữu ích khi bạn cần một giá trị thập phân ngẫu nhiên — chẳng hạn, để tạo độ mờ hoặc màu sắc.

2. Tạo Số Nguyên Ngẫu Nhiên Giữa 0 và 9

Để có một số nguyên (whole number), bạn nhân với một khoảng và sử dụng Math.floor():

javascript Copy
const num = Math.floor(Math.random() * 10);
console.log(num); // Kết quả: 0 đến 9

Dưới đây là những gì đang xảy ra:

  • Math.random() → cho một số thập phân từ 0–1
  • * 10 → làm cho nó lớn hơn lên tới 0–9.999...
  • Math.floor() → làm tròn xuống số nguyên gần nhất.

3. Tạo Số Ngẫu Nhiên Giữa Hai Giá Trị

Để lấy một số ngẫu nhiên giữa minmax, bạn sử dụng công thức sau:

javascript Copy
const getRandom = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;
console.log(getRandom(1, 100)); // Kết quả: số ngẫu nhiên giữa 1 và 100

Cách tiếp cận này rất phổ biến trong các trò chơi và mô phỏng JavaScript.

4. Tạo Số Thực Ngẫu Nhiên Giữa Hai Giá Trị

Nếu bạn không muốn số nguyên:

javascript Copy
const getRandomFloat = (min, max) => Math.random() * (max - min) + min;
console.log(getRandomFloat(1.5, 6.5)); // Kết quả: 2.739, v.v.

5. Tạo Số Boolean Ngẫu Nhiên (true/false)

Đôi khi bạn chỉ cần một giá trị yes/no hoặc true/false:

javascript Copy
const randomBool = Math.random() < 0.5;
console.log(randomBool);

🎲 Các Trường Hợp Sử Dụng Thông Thường Của Số Ngẫu Nhiên Trong JS

  • 🎮 Trò chơi: Di chuyển kẻ thù ngẫu nhiên, xúc xắc hoặc rút bài.
  • 🎨 Thiết kế UI: Màu sắc hoặc hoạt ảnh ngẫu nhiên.
  • 📈 Tạo dữ liệu: Dữ liệu giả lập cho kiểm tra API.
  • 🎁 Quà tặng & Xổ số: Chọn người thắng cuộc ngẫu nhiên.
  • 🔢 Mô phỏng Toán học: Lấy mẫu ngẫu nhiên hoặc thuật toán.

Để có cái nhìn sâu hơn về các ví dụ và ứng dụng thực tế, hãy tham khảo

👉 Số Ngẫu Nhiên JavaScript.

⚙️ Thêm: Tạo Số Ngẫu Nhiên Với Thư Viện Bên Ngoài

Nếu bạn muốn nhiều quyền kiểm soát hơn (như hạt giống, khả năng tái tạo hoặc phân phối), bạn có thể sử dụng các thư viện như:

  • random-js
  • Chance.js
  • Seedrandom
  • Faker.js

Ví dụ với random-js:

javascript Copy
import { Random } from 'random-js';
const random = new Random();
console.log(random.integer(1, 100)); // Kết quả: số ngẫu nhiên giữa 1 và 100

Các thư viện này cho phép bạn tạo ra các kết quả ngẫu nhiên có thể lặp lại — hữu ích cho kiểm tra và mô phỏng.

🚀 Thực Hành Tốt Nhất Khi Tạo Số Ngẫu Nhiên Trong JavaScript

  1. Sử dụng Math.floor() hoặc Math.round() khi bạn cần số nguyên.

  2. Tránh sử dụng Math.random() cho các mục đích mã hóa. Sử dụng API crypto thay vào đó:

    javascript Copy
    crypto.getRandomValues(new Uint32Array(1));
  3. Rõ ràng với giới hạn khoảng. Luôn chỉ định xem bạn muốn giới hạn bao gồm hay không.

  4. Tính ngẫu nhiên có hạt giống: Sử dụng thư viện bên ngoài nếu bạn cần khả năng tái tạo trong các bài kiểm tra.

✅ Kết Luận

Việc tạo ra số ngẫu nhiên trong JavaScript là đơn giản nhưng rất mạnh mẽ. Từ việc chọn màu sắc ngẫu nhiên đến việc tạo ra trò chơi hoặc mô phỏng, Math.random() là phương thức bạn nên sử dụng trong JavaScript. Bằng cách thành thạo một vài biến thể — cho số nguyên, số thập phân, hoặc khoảng tùy chỉnh — bạn có thể thêm tính không thể đoán trước và tương tác vào bất kỳ dự án nào. Để có cái nhìn sâu hơn và các trường hợp sử dụng, hãy tham khảo
👉 Số Ngẫu Nhiên JavaScript.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào