Có gì mới?

Chào mừng bạn đến với diễn đàn Tui Học Web

Vui lòng đăng ký hoặc đăng nhập để sử dụng hết các tính năng của forum nhé!
  • Thông báo: Hiện tại do admin không có nhiều thời gian và không thể tiếp tục quản trị và maintain forum, do đó forum sẽ có dự định được đóng lại từ 06/2022, cảm ơn mọi người đã đồng hành cùng forum suốt thời gian vừa qua. Cảm ơn rất nhiều.

Chia sẻ 27 hàm Javascript thông dụng được viết ngắn gọn, súc tích

Chia sẻ
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

Mọi người nhớ note lại để tiện dùng nhé! Chúc mọi người một ngày code vui vẻ :v​

 

Bài viết và chủ đề liên quan

shape1
shape2
shape3
shape4
shape7
shape8
Bên trên