20 Câu lệnh JavaScript giúp bạn trông giống một Pro
JavaScript là một ngôn ngữ lập trình đầy bất ngờ và linh hoạt. Nhờ vào đặc điểm này, lập trình viên có thể viết ra những câu lệnh ngắn gọn nhưng lại vô cùng mạnh mẽ. Trong bài viết này, chúng ta sẽ cùng nhau khám phá và phân tích 20 câu lệnh JavaScript thú vị và hữu ích.
1. Hoán đổi hai biến mà không cần biến tạm
[a, b] = [b, a];
Câu lệnh này sử dụng cú pháp của mảng để hoán đổi giá trị giữa hai biến mà không cần sử dụng bất kỳ biến tạm thời nào.
2. Kiểm tra xem một số có phải là số chẵn không
const isEven = n => !(n & 1);
Sử dụng phép toán AND bitwise (&
), câu lệnh này kiểm tra xem bit cuối cùng của số có phải là 1 (lẻ) hay không. Nếu không, nó sẽ là 0 (chẵn).
3. Đảo ngược một chuỗi
const reverseString = str => [...str].reverse().join('');
Ở đây, toán tử trải rộng (...
) biến chuỗi thành một mảng, sau đó sử dụng phương thức reverse()
để đảo ngược mảng và cuối cùng là join('')
để chuyển mảng trở lại thành chuỗi.
4. Tạo màu Hex ngẫu nhiên
const randomColor = () => `#${Math.floor(Math.random() * 0xFFFFFF).toString(16).padStart(6, '0')}`;
Câu lệnh này tạo ra một số ngẫu nhiên và chuyển đổi nó thành định dạng hex. padStart(6, '0')
đảm bảo rằng chuỗi hex sẽ luôn có 6 ký tự.
5. Lấy phần tử cuối cùng của một mảng
const lastItem = arr => arr.at(-1);
Phương thức .at(-1)
giúp lấy phần tử cuối cùng của mảng một cách đơn giản và dễ hiểu.
6. Làm phẳng một mảng lồng nhau
const flatArray = arr => arr.flat(Infinity);
Sử dụng .flat(Infinity)
, chúng ta có thể làm phẳng một mảng có độ sâu bất kỳ.
7. Chuyển đổi một chuỗi thành số
const toNumber = str => +str;
Toán tử +
cho phép chúng ta chuyển đổi một chuỗi thành số một cách nhanh chóng và ngắn gọn.
8. Xóa phần tử trùng lặp khỏi một mảng
const uniqueArray = arr => [...new Set(arr)];
Câu lệnh này sử dụng Set
để bỏ qua các phần tử trùng lặp, sau đó chuyển đổi lại thành mảng thông qua toán tử trải rộng.
9. Tìm giao điểm của hai mảng
const intersection = (a, b) => a.filter(x => b.includes(x));
Sử dụng phương thức filter()
, câu lệnh này lọc và trả về các phần tử có trong cả hai mảng.
10. Xáo trộn một mảng
const shuffle = arr => arr.sort(() => Math.random() - 0.5);
Sắp xếp ngẫu nhiên với một hàm so sánh dựa trên số ngẫu nhiên giúp xáo trộn mảng, mặc dù đây không phải là phương pháp tối ưu nhất.
11. Lấy dấu thời gian hiện tại
const timestamp = () => Date.now();
Date.now()
sẽ trả về số mili giây tính từ ngày 1 tháng 1 năm 1970.
12. Giá trị mặc định ngắn gọn
const greet = name => name || 'Guest';
Câu lệnh này sẽ trả về tên nếu nó tồn tại, nếu không sẽ trả về 'Guest'
.
13. Đếm số lần xuất hiện của một phần tử trong một mảng
const countOccurrences = (arr, val) => arr.reduce((a, v) => v === val ? a + 1 : a, 0);
Phương thức reduce()
được sử dụng để đếm số lần một giá trị xuất hiện trong mảng.
14. Lấy một mục ngẫu nhiên từ một mảng
const randomItem = arr => arr[Math.floor(Math.random() * arr.length)];
Sử dụng Math.random()
, chúng ta tạo ra một chỉ mục ngẫu nhiên từ mảng.
15. Chuyển đổi RGB sang Hex
const rgbToHex = (r, g, b) => `#${((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice(1)}`;
Câu lệnh này sử dụng phép toán bit để chuyển đổi các giá trị RGB thành định dạng hex.
16. Kiểm tra xem một chuỗi có phải là Palindrome hay không
const isPalindrome = str => str === [...str].reverse().join('');
Chuỗi sẽ được đảo ngược và so sánh với chuỗi gốc để kiểm tra tính đối xứng.
17. Chuyển đổi Boolean sang Number
const boolToNumber = bool => +bool;
Toán tử +
chuyển đổi giá trị Boolean true
thành 1 và false
thành 0.
18. Viết hoa chữ cái đầu tiên của một chuỗi
const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1);
Ký tự đầu tiên của chuỗi được chuyển thành chữ hoa và nối lại với phần còn lại.
19. Xóa khoảng trắng khỏi chuỗi
const trimSpaces = str => str.replace(/\s+/g, '');
Biểu thức chính quy /\s+/g
được sử dụng để xóa tất cả các ký tự khoảng trắng trong chuỗi.
20. Tạo Boolean ngẫu nhiên
const randomBoolean = () => Math.random() >= 0.5;
Với Math.random()
, câu lệnh này sẽ tạo ra một giá trị Boolean ngẫu nhiên dựa trên ngưỡng 0.5.
Hy vọng rằng bạn sẽ tìm thấy những câu lệnh này hữu ích và có thể áp dụng chúng trong các dự án lập trình của mình!
Comments ()