![ThumbnailTuiHocWeb-copy.png](https://add.pics/images/2021/10/14/ThumbnailTuiHocWeb-copy.png)
27 hàm javascript thông dụng được viết ngắn gọn
1. Copy to Clipboard - Đưa nội dung vào clipboard
Hàm này sẽ giúp mọi người dễ dàng copy bất kỳ đoạn text nào vào clipboard nhanh chóng, chỉ một dòng thôi nhé![]()
JavaScript:
// Khai báo
const copyToClipboard = (text) => navigator.clipboard.writeText(text);
// Sử dụng
copyToClipboard("Dòng này sẽ được copy vào clipboard.");
2. Get a random number in a specific range - Lấy một số ngẫu nhiên trong một đoạn cụ thể
Hàm này sẽ trả về một số cho bạn, bạn chỉ cần truyền vào giá trị nhỏ nhất và lớn nhất để quy định vùng giá trị muốn lấy nhé
JavaScript:
// khai báo
const randomNumberInRange = (min = 0, max = 100) => Math.floor(Math.random() * (max - min + 1)) + min;
// sử dụng
randomNumberInRange()
// Result: Theo tham số mặc nhiên thì nó sẽ lấy giá trị ngẫu nhiên giữa 0 và 100.
randomNumberInRange(100, 300)
// Result: Bạn sẽ nhận được một số nằm trong khoảng 100 - 300
3. Convert RGB to Hex - Chuyển hệ RGB (Red Green Blue sang mã Hexadecimal)
Hàm này sẽ chuyển giá trị RGB sang Hexa nhé
JavaScript:
// khai báo
const rgbToHex = (r, g, b) => "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
// sử dụng
rgbToHex(0, 51, 255);
// Result: #0033ff
4. Scroll to top - Chuyển nhanh scroll trang về đầu trang
Hàm này sẽ giúp bạn chuyển trang về đầu nhanh chóng nhé
JavaScript:
// khai báo
const goToTop = () => window.scrollTo(0, 0);
// sử dụng
goToTop();
5. Find the number of gap days between two dates - Tìm số ngày là khoảng cách giữa hai ngày
Hàm này sẽ trả về số ngày giữa hai mốc mà bạn đưa vào nhé
JavaScript:
// khai báo
const dayDif = (date1, date2) => Math.ceil(Math.abs(date1.getTime() - date2.getTime()) / 86400000)
// sử dụng
dayDif(new Date("2020-10-21"), new Date("2021-10-22"))
// Result: 366
6. Generate Random Hex - Tạo ngẫu nhiên giá trị Hexa
Hàm này sẽ trả về giá trị ngẫu nhiên dưới dạng hexa nhé
JavaScript:
// khai báo
const randomHex = () => `#${Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, "0")}`;
// sử dụng
console.log(randomHex());
// Result: #92b008
7. Check if the provided day is a weekday - Kiểm tra nếu giá trị đưa vào là một ngày trong tuần hay ngày kết thúc của tuần đó
Hàm này sẽ trả về giá trị ngày đó là ngày trong tuần hay ngày kết thúc của tuần nhé
JavaScript:
// khai báo
const isWeekday = (date) => date.getDay() % 6 !== 0;
// sử dụng
console.log(isWeekday(new Date(2021, 0, 11)));
// Result: true (Monday)
console.log(isWeekday(new Date(2021, 0, 10)));
// Result: false (Sunday)
8. Convert Temperature Fahrenheit / Celsius - Chuyển đổi thang đo độ giữa độ F và độ C
Hàm này sẽ giúp chuyển đổi độ F và độ C nhé
JavaScript:
// khai báo
const celsiusToFahrenheit = (celsius) => celsius * 9/5 + 32;
const fahrenheitToCelsius = (fahrenheit) => (fahrenheit - 32) * 5/9;
// sử dụng
celsiusToFahrenheit(15); // 59
celsiusToFahrenheit(0); // 32
celsiusToFahrenheit(-20); // -4
fahrenheitToCelsius(59); // 15
fahrenheitToCelsius(32); // 0
9. Check if the user is on an Apple device - Kiểm tra nếu người dùng đang dùng thiết bị của Apple
Hàm này sẽ kiểm tra người dùng có dùng thiết bị của Apple không nhé
JavaScript:
// khai báo
const isAppleDevice = /Mac|iPod|iPhone|iPad/.test(navigator.platform);
// sử dụng
console.log(isAppleDevice);
// Result: will return true if user is on an Apple device
10. Get the time from a date - Lấy thời gian từ một object ngày tháng
Hàm này sẽ lấy thời gian từ một object ngày tháng
JavaScript:
// khai báo
const timeFromDate = date => date.toTimeString().slice(0, 8);
// sử dụng
console.log(timeFromDate(new Date(2021, 0, 10, 17, 30, 0)));
// Result: "17:30:00"
console.log(timeFromDate(new Date()));
// Result: will log the current time
11. Strip HTML From Text - Tách các tag HTML ra khỏi văn bản
Hàm này sẽ tách các tag HTML khỏi chuỗi nhé
JavaScript:
// khai báo
const stripHtml = html => (new DOMParser().parseFromString(html, 'text/html')).body.textContent || '';
// sử dụng
stripHtml('<h1>Hello <strong>World</strong>!!!</h1>');
// Result: Hello World!!!
12. Toggle (show/hide) of an Element - Toggle hiển thị hoặc ẩn đi một Element
Hàm này sẽ giúp toggle nhanh trạng thái hiển thị hay ẩn đi của một đối tượng trong DOM nhé
JavaScript:
// khai báo
const toggleElementDisplay = element => element.style.display = (element.style.display === "none" ? "block" : "none");
// sử dụng
toggleElementDisplay(document.body)
// Result: Page body should be invisible, if it was present before and on executing command again it should be toggled
13. Reverse a String - Đảo ngược một string
Hàm này sẽ giúp ta đảo ngược một chuỗi nhé
JavaScript:
// khai báo
const stringReverse = str => str.split("").reverse().join("");
// sử dụng
stringReverse('elcitra ym ekil uoy epoh i');
// Result: i hope you like my article
14. Capitalize a String - Viết chữ cái đầu in hoa một string
Hàm này sẽ giúp viết in hoa chữ cái đầu nhé
JavaScript:
// khai báo
const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1);
// sử dụng
capitalize("i hope you like my article.");
// I hope you like my article.
15. Round Decimals to a Certain Number of Decimal Places - Làm tròn số thập phân đến một số vị trí thập phân nhất định
Hàm này sẽ giúp làm tròn số tới vị trí nhất định nhé
JavaScript:
// Mặc định của JS
Number((1.005).toFixed(2)) //outputs 1 instead of 1.01
Number((1.555).toFixed(2)) //outputs 1.55 instead of 1.56
const round = (n, d) => Number(Math.round(n + "e" + d) + "e-" + d);
round(1.005, 2) //1.01
round(1.555, 2) //1.56
16. Shuffle an Array - Đảo vị trí các phần tử của một mảng
Hàm này sẽ giúp đảo vị trí các phần tử của một mảng nhé
JavaScript:
const shuffleArray = (arr) => arr.sort(() => 0.5 - Math.random());
console.log(shuffleArray([1, 2, 3, 4]));
// Result: [ 1, 4, 3, 2 ]
17. Detect Dark Mode - Phát hiện dark mode
Hàm này sẽ giúp phát hiện dark mode nhé
JavaScript:
const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
console.log(isDarkMode) // Result: True or False
18. Get Query Params from URL - lấy tham số từ url
Hàm này sẽ giúp lấy tham số từ URL nhé
JavaScript:
const getParameters = (URL) => JSON.parse('{"' + decodeURI(URL.split("?")[1]).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"') +'"}');
getParameters("https://www.google.de/search?q=cars&start=40");
// Result: { q: 'cars', start: '40' }
19. Get the Average of an Array of Number - Lấy giá trị trung bình của một mảng số
Hàm này sẽ giúp lấy giá trị trung bình của một mảng gồm các giá trị số nhé
JavaScript:
const average = arr => arr.reduce((a, b) => a + b) / arr.length;
average([21, 56, 23, 122, 67])
//57.8
20. Check if the current user has touch events supported - Kiểm tra nếu người dùng hiện tại có hỗ trợ các sự kiện cảm ứng
Hàm này sẽ kiểm tra thiết bị người dùng đang sử dụng có hỗ trợ sự kiện cảm ứng không nhé
JavaScript:
const touchSupported = () => {
('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch);
}
console.log(touchSupported());
// Result: will return true if touch events are supported, false if not
21. Find the day of the year - Tìm thứ tự ngày trong năm
Hàm này sẽ trả về số thứ tự của ngày trong năm
JavaScript:
const dayOfYear = (date) =>
Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);
dayOfYear(new Date());
// Result: 272
22. Get Value of a browser Cookie - Lấy giá trị cookie
Hàm này sẽ giúp lấy cookies nhé
JavaScript:
const cookie = name => `; ${document.cookie}`.split(`; ${name}=`).pop().split(';').shift();
cookie('_ga');
// Result: "GA1.2.1929736587.1601974046"
23. Clear All browser Cookies - Xóa toàn bộ cookies
Hàm này sẽ xóa cookies nhé
JavaScript:
const clearCookies = document.cookie.split(';').forEach(cookie => document.cookie = cookie.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date(0).toUTCString()};path=/`));
24. Get a random boolean value (true/false) - Lấy giá trị true false ngẫu nhiên
Hàm này sẽ trả về giá trị boolean ngẫu nhiên nhé
JavaScript:
const randomBoolean = () => Math.random() >= 0.5;
console.log(randomBoolean());
// Result: a 50/50 change on returning true of false
25. Remove Duplicates in an Array - Xóa giá trị trùng trong mảng
Hàm này sẽ xóa phần tử trùng nằm trong mảng nhé
JavaScript:
const removeDuplicates = (arr) => [...new Set(arr)];
removeDuplicates([31, 56, 12, 31, 45, 12, 31]);
//[ 31, 56, 12, 45 ]
26. Check if Date is Valid - Kiểm tra ngày tháng có hợp lệ hay không
Hàm này sẽ kiểm tra ngày tháng có hợp lệ không nhé
JavaScript:
const isDateValid = (...val) => !Number.isNaN(new Date(...val).valueOf());
isDateValid("December 17, 1995 03:24:00");
// Result: true
27. Get a random item from an array - Lấy phần tử ngẫu nhiên ở trong một mảng các giá trị
Hàm này sẽ lấy phần tử ngẫu nhiên có trong một mảng nhé
JavaScript:
const randomArrayItem = (arr) => arr[Math.floor(Math.random() * arr.length)];
randomArrayItem(['lol', 'a', 2, 'foo', 52, 'Jhon', 'hello', 57]);
// Result: It will be some random item from array
Nguồn: Medium