Tạo số ngẫu nhiên (Random) trong JavaScript
Javascript căn bản | by
Trong lập trình, số ngẫu nhiên đóng vai trò quan trọng trong nhiều lĩnh vực như trò chơi điện tử, bảo mật, thống kê và trí tuệ nhân tạo. JavaScript cung cấp nhiều phương pháp để tạo số ngẫu nhiên, trong đó phổ biến nhất là Math.random()
. Tuy nhiên, để tạo số ngẫu nhiên trong một khoảng xác định hoặc đảm bảo tính bảo mật cao hơn, chúng ta cần áp dụng các công thức và phương pháp nâng cao. Bài viết này sẽ giới thiệu cách sử dụng Math.random()
, cách tạo số nguyên ngẫu nhiên, cũng như ứng dụng số ngẫu nhiên trong thực tế.
Tại sao cần tạo số ngẫu nhiên trong JavaScript?
Số ngẫu nhiên đóng vai trò quan trọng trong nhiều lĩnh vực lập trình. Dưới đây là một số lý do chính khiến chúng ta cần sử dụng số ngẫu nhiên trong JavaScript:
Dùng trong trò chơi, bốc thăm, sinh ID ngẫu nhiên
- Trong trò chơi điện tử, số ngẫu nhiên được sử dụng để tạo ra sự kiện bất ngờ như sinh quái vật ngẫu nhiên, rơi vật phẩm, hoặc quyết định hành động của AI.
- Trong các ứng dụng bốc thăm may mắn, số ngẫu nhiên giúp đảm bảo tính công bằng khi chọn người trúng giải.
- Khi tạo ID ngẫu nhiên cho người dùng hoặc đối tượng (ví dụ: mã đơn hàng, mã xác thực), số ngẫu nhiên giúp tạo ra các giá trị duy nhất, tránh trùng lặp.
Ví dụ:
// Sinh số ngẫu nhiên từ 1 đến 100 cho trò chơi const randomNumber = Math.floor(Math.random() * 100) + 1; console.log(`Số ngẫu nhiên: ${randomNumber}`);
Ứng dụng trong bảo mật, mã hóa dữ liệu
- Trong bảo mật, số ngẫu nhiên được sử dụng để tạo mã OTP (One-Time Password) nhằm xác thực người dùng.
- Hệ thống mã hóa dữ liệu cần số ngẫu nhiên để tạo khóa mã hóa, đảm bảo rằng mỗi lần mã hóa có một kết quả khác nhau.
- Các thuật toán như CSRF token (Cross-Site Request Forgery) hoặc session ID đều sử dụng số ngẫu nhiên để ngăn chặn tấn công từ hacker.
Ví dụ:
// Tạo mã OTP 6 chữ số ngẫu nhiên const otp = Math.floor(100000 + Math.random() * 900000); console.log(`Mã OTP: ${otp}`);
Sử dụng trong thống kê và mô phỏng
- Trong lĩnh vực thống kê, số ngẫu nhiên được sử dụng để mô phỏng dữ liệu thực tế, giúp phân tích xu hướng và đưa ra dự đoán.
- Trong trí tuệ nhân tạo (AI) và học máy (Machine Learning), số ngẫu nhiên giúp tạo bộ dữ liệu huấn luyện hoặc khởi tạo trọng số mạng nơ-ron.
- Các mô phỏng vật lý, tài chính và khoa học đều cần số ngẫu nhiên để tái hiện môi trường thực tế.
Ví dụ:
// Tạo mảng 10 số ngẫu nhiên để mô phỏng dữ liệu thống kê const randomData = Array.from({ length: 10 }, () => Math.random()); console.log(`Dữ liệu mô phỏng:`, randomData);