20 Câu Lệnh JavaScript Độc Đáo Giúp Bạn Trở Nên Chuyên Nghiệp
JavaScript không chỉ là một ngôn ngữ lập trình mạnh mẽ mà còn đầy bí ẩn. Với tính linh hoạt của nó, lập trình viên có thể viết những câu lệnh ngắn gọn nhưng vẫn thể hiện sức mạnh và tính sáng tạo. Trong bài viết này, chúng ta sẽ cùng nhau khám phá 20 câu lệnh JavaScript thú vị và hữu ích, giúp bạn trở nên chuyên nghiệp hơn trong lập trình.
1. Hoán Đổi Hai Biến Mà Không Cần Biến Tạm
javascript
[a, b] = [b, a];
Cách này sử dụng cấu trúc mảng để hoán đổi giá trị của hai biến mà không cần phải tạo biến tạm thời.
2. Kiểm Tra Tính Chẵn Của Một Số
javascript
const isEven = n => !(n & 1);
Phép toán bitwise AND (&) giúp xác định xem số đó có phải là số chẵn hay không.
3. Đảo Ngược Một Chuỗi
javascript
const reverseString = str => [...str].reverse().join('');
Sử dụng toán tử trải rộng (...) để chuyển đổi chuỗi thành mảng, sau đó đảo ngược và nối lại thành chuỗi.
4. Tạo Màu Hex Ngẫu Nhiên
javascript
const randomColor = () => `#${Math.floor(Math.random()*0xFFFFFF).toString(16).padStart(6, '0')}`;
Tạo ra một màu ngẫu nhiên và đảm bảo đúng định dạng hex với độ dài 6 ký tự.
5. Lấy Phần Tử Cuối Cùng Của Một Mảng
javascript
const lastItem = arr => arr.at(-1);
Sử dụng phương thức .at(-1) để lấy phần tử cuối cùng của mảng một cách dễ dàng và rõ ràng.
6. Làm Phẳng Một Mảng Lồng Nhau
javascript
const flatArray = arr => arr.flat(Infinity);
Phương thức .flat(Infinity) cho phép làm phẳng mảng có độ sâu bất kỳ một cách đơn giản.
7. Chuyển Đổi Một Chuỗi Thành Số
javascript
const toNumber = str => +str;
Sử dụng toán tử + để chuyển một chuỗi thành số với cú pháp ngắn gọn.
8. Xóa Các Phần Tử Trùng Lặp Trong Một Mảng
javascript
const uniqueArray = arr => [...new Set(arr)];
Sử dụng Set để loại bỏ các phần tử trùng lặp và chuyển đổi lại thành mảng.
9. Tìm Giao Điểm Của Hai Mảng
javascript
const intersection = (a, b) => a.filter(x => b.includes(x));
Lọc các phần tử từ mảng a xuất hiện trong b để tìm ra giao điểm.
10. Xáo Trộn Một Mảng
javascript
const shuffle = arr => arr.sort(() => Math.random() - 0.5);
Sắp xếp ngẫu nhiên mảng một cách đơn giản (mặc dù không phải là cách tối ưu).
11. Lấy Dấu Thời Gian Hiện Tại
javascript
const timestamp = () => Date.now();
Phương thức Date.now() trả về số mili giây từ thời điểm mốc 1/1/1970.
12. Giá Trị Mặc Định Ngắn Mạch
javascript
const greet = name => name || 'Guest';
Nếu biến name có giá trị falsy (như null hay undefined), 'Guest' sẽ được sử dụng làm giá trị mặc định.
13. Đếm Số Lần Xuất Hiện Của Một Phần Tử Trong Mảng
javascript
const countOccurrences = (arr, val) => arr.reduce((a, v) => v === val ? a + 1 : a, 0);
Sử dụng reduce để đếm số lần xuất hiện của một giá trị trong mảng.
14. Lấy Một Mục Ngẫu Nhiên Từ Mảng
javascript
const randomItem = arr => arr[Math.floor(Math.random() * arr.length)];
Sử dụng Math.random() để lấy chỉ số ngẫu nhiên và trả về một mục từ mảng.
15. Chuyển Đổi RGB Sang Hex
javascript
const rgbToHex = (r, g, b) => `#${((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice(1)}`;
Sử dụng phép toán bit để chuyển đổi từ giá trị RGB sang định dạng hex.
16. Kiểm Tra Chuỗi Palindrome
javascript
const isPalindrome = str => str === [...str].reverse().join('');
So sánh chuỗi với phiên bản đảo ngược của nó để xác định xem có phải là chuỗi palindrome.
17. Chuyển Đổi Boolean Thành Số
javascript
const boolToNumber = bool => +bool;
Sử dụng toán tử + để chuyển đổi giá trị true thành 1 và false thành 0.
18. Viết Hoa Chữ Cái Đầu Tiên
javascript
const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1);
Chữ cái đầu tiên được chuyển thành chữ hoa và ghép với phần còn lại của chuỗi.
19. Xóa Khoảng Trắng Trong Chuỗi
javascript
const trimSpaces = str => str.replace(/\s+/g, '');
Sử dụng biểu thức chính quy để xoá tất cả khoảng trắng trong chuỗi.
20. Tạo Boolean Ngẫu Nhiên
javascript
const randomBoolean = () => Math.random() >= 0.5;
Tạo ra giá trị true hoặc false dựa trên số ngẫu nhiên được sinh ra từ 0 đến 1.
Những câu lệnh JavaScript này không chỉ giúp bạn cải thiện kỹ năng lập trình mà còn làm phong phú thêm bộ công cụ của bạn. Hãy thử nghiệm và tích hợp chúng vào dự án của bạn để tận dụng tối đa sức mạnh của JavaScript!
source: viblo