Giới thiệu
Trong lập trình JavaScript, đối tượng Math cung cấp nhiều phương thức hữu ích để thực hiện các phép toán số học. Bài viết này sẽ hướng dẫn bạn cách sử dụng các phương thức của đối tượng Math, bao gồm ví dụ cụ thể và cách áp dụng trong thực tế.
Mục lục
- Math.ceil()
- Math.floor()
- Math.round()
- Math.trunc()
- Math.random()
- Math.max()
- Math.min()
- Math.pow()
- Math.sqrt()
- Math.abs()
- Math.PI
- Ví dụ thực tế
1. Math.ceil() {#mathceil}
Chức năng:
Làm tròn một số lên số nguyên gần nhất.
Khi nào sử dụng:
Khi bạn luôn muốn làm tròn lên dù số thập phân là nhỏ.
Nơi sử dụng:
Tính toán số tiền tối thiểu, giá vé hoặc làm tròn số lượng.
Ví dụ:
javascript
Math.ceil(4.1); // 5
Math.ceil(7.9); // 8
Math.ceil(2); // 2
Lỗi thường gặp:
- Kỳ vọng nó sẽ làm tròn bình thường (nó luôn làm tròn LÊN).
2. Math.floor() {#mathfloor}
Chức năng:
Làm tròn một số xuống số nguyên gần nhất.
Khi nào sử dụng:
Khi bạn luôn muốn làm tròn xuống.
Nơi sử dụng:
Tính toán giảm giá, chia hóa đơn, hoặc giới hạn giá trị.
Ví dụ:
javascript
Math.floor(4.9); // 4
Math.floor(7.1); // 7
Math.floor(2); // 2
Lỗi thường gặp:
- Kỳ vọng nó sẽ làm tròn bình thường (nó luôn làm tròn XUỐNG).
3. Math.round() {#mathround}
Chức năng:
Làm tròn một số về số nguyên gần nhất.
Khi nào sử dụng:
Khi bạn muốn làm tròn theo quy tắc chuẩn (0.5 và trên sẽ làm tròn lên).
Nơi sử dụng:
Làm tròn giá, điểm số hoặc kích thước.
Ví dụ:
javascript
Math.round(4.4); // 4
Math.round(4.5); // 5
Math.round(4.6); // 5
Lỗi thường gặp:
- Không nhận ra rằng 0.5 sẽ làm tròn LÊN.
4. Math.trunc() {#mathtrunc}
Chức năng:
Loại bỏ phần thập phân, chỉ trả về phần nguyên.
Khi nào sử dụng:
Khi bạn muốn bỏ qua phần thập phân mà không làm tròn.
Nơi sử dụng:
Lấy số nguyên từ các phép tính.
Ví dụ:
javascript
Math.trunc(4.9); // 4
Math.trunc(-4.9); // -4
Lỗi thường gặp:
- Nghĩ rằng nó làm tròn (nó chỉ cắt bỏ phần thập phân).
5. Math.random() {#mathrandom}
Chức năng:
Trả về một số ngẫu nhiên giữa 0 (bao gồm) và 1 (không bao gồm).
Khi nào sử dụng:
Khi bạn cần sự ngẫu nhiên.
Nơi sử dụng:
Trong các trò chơi, lựa chọn ngẫu nhiên, trộn lẫn, tạo ID ngẫu nhiên.
Ví dụ:
javascript
Math.random(); // ví dụ: 0.345678
// Số nguyên ngẫu nhiên giữa 1 và 10:
Math.floor(Math.random() * 10) + 1;
Lỗi thường gặp:
- Quên quy mô và làm tròn cho các dãy số nguyên.
6. Math.max() {#mathmax}
Chức năng:
Trả về giá trị lớn nhất từ một danh sách các số.
Khi nào sử dụng:
Tìm giá trị lớn nhất.
Nơi sử dụng:
Tìm điểm số cao nhất, giá hoặc kích thước.
Ví dụ:
javascript
Math.max(4, 7, 1); // 7
Lỗi thường gặp:
- Truyền một mảng trực tiếp (sử dụng toán tử spread):
javascript
const arr = [4, 7, 1];
Math.max(...arr); // 7
7. Math.min() {#mathmin}
Chức năng:
Trả về giá trị nhỏ nhất từ một danh sách các số.
Khi nào sử dụng:
Tìm giá trị nhỏ nhất.
Nơi sử dụng:
Tìm điểm số thấp nhất, giá hoặc kích thước.
Ví dụ:
javascript
Math.min(4, 7, 1); // 1
Lỗi thường gặp:
- Truyền một mảng trực tiếp (sử dụng toán tử spread):
javascript
const arr = [4, 7, 1];
Math.min(...arr); // 1
8. Math.pow() {#mathpow}
Chức năng:
Làm cho một số lên lũy thừa của một số khác.
Khi nào sử dụng:
Tính toán lũy thừa.
Nơi sử dụng:
Tính toán lãi suất, hình học, công thức vật lý.
Ví dụ:
javascript
Math.pow(2, 3); // 8 (2^3)
Lỗi thường gặp:
- Sử dụng
^để tính lũy thừa (sử dụngMath.pow()hoặc**).
9. Math.sqrt() {#mathsqrt}
Chức năng:
Trả về căn bậc hai của một số.
Khi nào sử dụng:
Tính toán căn bậc hai.
Nơi sử dụng:
Hình học, thống kê, vật lý.
Ví dụ:
javascript
Math.sqrt(9); // 3
Math.sqrt(2); // 1.414...
Lỗi thường gặp:
- Truyền số âm (trả về NaN).
10. Math.abs() {#mathabs}
Chức năng:
Trả về giá trị tuyệt đối (dương) của một số.
Khi nào sử dụng:
Loại bỏ dấu âm.
Nơi sử dụng:
Tính toán khoảng cách, chênh lệch điểm số.
Ví dụ:
javascript
Math.abs(-5); // 5
Math.abs(5); // 5
Lỗi thường gặp:
- Không nhận ra rằng nó hoạt động với cả số dương và âm.
11. Math.PI {#mathpi}
Chức năng:
Đại diện cho giá trị của π (pi), khoảng 3.14159.
Khi nào sử dụng:
Tính toán hình tròn.
Nơi sử dụng:
Hình học, lượng giác.
Ví dụ:
javascript
console.log(Math.PI); // 3.141592653589793
// Diện tích của hình tròn với bán kính r:
let r = 5;
let area = Math.PI * Math.pow(r, 2);
console.log(area); // 78.53981633974483
Lỗi thường gặp:
- Gõ
PIthay vìMath.PI.
Ví dụ thực tế
Làm tròn giá trong giỏ hàng
javascript
let price = 4.567;
let roundedPrice = Math.round(price * 100) / 100; // 4.57
Tạo số ngẫu nhiên cho trò chơi
javascript
// Lăn xúc xắc ngẫu nhiên (1-6)
let dice = Math.floor(Math.random() * 6) + 1;
Tìm giá trị min/max trong một mảng
javascript
let scores = [10, 5, 8, 12];
let maxScore = Math.max(...scores); // 12
let minScore = Math.min(...scores); // 5
Tính căn bậc hai cho hình học
javascript
let area = 25;
let side = Math.sqrt(area); // 5
Tạo điều kiện dựa trên toán học trong mã
javascript
let temp = -7;
if (Math.abs(temp) > 5) {
console.log("Nhiệt độ cực đoan!");
}
Một số bài tập thực hành
21. Tạo OTP 4 chữ số
Nhiệm vụ:
Viết một hàm tạo OTP ngẫu nhiên 4 chữ số.
Công thức:
OTP = Math.floor(Math.random() * 9000) + 1000
Ví dụ:
generateOTP() // 4821 (có thể là bất kỳ số nào từ 1000 đến 9999)
22. Tính diện tích hình chữ nhật
Cho:
Chiều dài = l, Chiều rộng = w
Công thức:
Diện tích = chiều dài × chiều rộng
Ví dụ:
Nếu l = 8, w = 5
Diện tích = 8 × 5 = 40
23. Tính diện tích của hình tròn
Cho:
Bán kính = r
Công thức:
Diện tích = π × r²
Ví dụ:
Nếu r = 7
Diện tích = Math.PI * Math.pow(7, 2) ≈ 153.94
24. Tính lãi đơn
Cho:
Vốn = P, Lãi suất = R, Thời gian = T
Công thức:
Lãi đơn = (P × R × T) / 100
Ví dụ:
Nếu P = 1000, R = 5, T = 2
Lãi đơn = (1000 × 5 × 2) / 100 = 100
25. Tính chu vi hình vuông
Cho:
Cạnh = s
Công thức:
Chu vi = 4 × cạnh
Ví dụ:
Nếu s = 6
Chu vi = 4 × 6 = 24
26. Tính trung bình của các số
Cho:
Các số: [10, 20, 30, 40]
Công thức:
Trung bình = (Tổng các số) / (Tổng số)
Ví dụ:
Trung bình = (10 + 20 + 30 + 40) / 4 = 25
Mẹo:
Đối với tất cả các bài toán toán học, hãy viết công thức trước, sau đó điền giá trị vào!
Mẹo:
Luôn kiểm tra tài liệu để tìm các trường hợp đặc biệt và nhớ rằng hầu hết các phương thức Math chỉ hoạt động với số, không phải mảng (sử dụng toán tử spread cho mảng).