Hãy trở thành chuyên gia lập trình với 18 bước JavaScript One-Liners

Ngày đăng: 21/04/2022   -    Cập nhật: 21/04/2022
JavaScript là một trong những ngôn ngữ phổ biến nhất với giới lập trình. Có rất nhiều tài liệu tham khảo trên internet điều đó không có nghĩa chúng ta bị ám ảnh vì phải liên tục cập nhật liên tục nhiều hơn nữa vào các cơ sở mã của mình, Chúng ta chỉ cần thêm tiện ích mà chúng ta có thể xây dựng lên
 
 

Thời gian trước việc xóa bỏ các module npm left - pab đã mang lại sự xáo trộn một thời gian trên không gian mạng. Đó là tiện ích có thể xây dựng trong 1 dòng đơn giản. Trên thực tế nó đã có sẵn thông số kỹ thuật  của ES7.
 
Vậy làm như thế nào chúng ta có thể thay đổi điều đó giúp nó không xảy ra? chung ta có nên tiếp tục tạo ra nó nữa hay không?
 
Câu trả lời là KHÔNG! chung ta cần phải khôn ngoan và ngăn chặn các thuộc tính phụ npm chung ta cần đánh giá xem các thuộc tính lib có tiện ích hay không. Việc mã hóa nó giúp chúng ta dễ dàng kiểm soát nhiều hơn và hiểu rõ hơn về những gì đang thực thi và mang lại.
 
Trong bài viết này HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI sẽ lấy các ví dụ về tiện ích của JavaScript đơn giản dễ xây dựng. Chỉ trong vài phút, bạn đã có thể nâng cao kiến ​​thức JS của mình.

- Ngoài ra tham khảo thêm các Hàm Closure trong JavaScript tại đây

Danh sách one-liners nâng cao kiến ​​thức về JavaScript.

 

1. Tạo một chuỗi ngẫu nhiên (random string) 

 
Chúng ta có thể sử dụng Math.random để tạo một chuỗi ngẫu nhiên, điều này rất thuận tiện khi chúng ta cần một ID duy nhất.
 

const randomString = () => Math.random().toString(36).slice(2)randomString() // gi1qtdego0b
randomString() // f3qixv40mot
randomString() // eeelv1pm3ja
 

2.# Thoát các ký tự đặc biệt trong HTML

Nếu bạn biết về XSS thì một trong những giải pháp là thoát khỏi chuỗi HTML.



const escape = (str) => str.replace(/[&<>"']/g, (m) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' }[m]))escape('<div class="medium">Hi Medium.</div>') 
// &lt;div class=&quot;medium&quot;&gt;Hi Medium.&lt;/div&gt
 
 

3.# Viết hoa ký tự đầu tiên của mỗi từ trong một chuỗi 

Cách sau được sử dụng để viết hoa ký tự đầu tiên của mỗi từ trong một chuỗi.
 

 
const uppercaseWords = (str) => str.replace(/^(.)|\s+(.)/g, (c) => c.toUpperCase())uppercaseWords('hello world'); // 'Hello World'

Cảm ơn Christopher Strolia-Davis vì đây là cách dễ dàng hơn mà anh ấy đưa ra.
const uppercaseWords = (str) => str.replace(/^(.)|\s+(.)/g, (c) => c.toUpperCase())

>>> Tham gia khóa học java full stack tại NIIT - ICT Hà Nội để được hướng dẫn với lộ trình bài bản hơn.

4.# Chuyển đổi một chuỗi thành camelCase 



 
const toCamelCase = (str) => str.trim().replace(/[-_\s]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''));toCamelCase('background-color'); // backgroundColor
toCamelCase('-webkit-scrollbar-thumb'); // WebkitScrollbarThumb
toCamelCase('_hello_world'); // HelloWorld
toCamelCase('hello_world'); // helloWorld

5.# Loại bỏ các giá trị trùng lặp trong một mảng 

Loại bỏ các bản sao của mảng là rất cần thiết khiến sử dụng “Set” sẽ trở nên rất đơn giản.


const removeDuplicates = (arr) => [...new Set(arr)]console.log(removeDuplicates([1, 2, 2, 3, 3, 4, 4, 5, 5, 6])) 
// [1, 2, 3, 4, 5, 6]

6.# Làm phẳng một mảng 

Chúng tôi thường được kiểm tra trong các cuộc phỏng vấn, điều này có thể đạt được theo hai cách.

 

const flat = (arr) =>
    [].concat.apply(
        [],
        arr.map((a) => (Array.isArray(a) ? flat(a) : a))
    )// Or
const flat = (arr) => arr.reduce((a, b) => (Array.isArray(b) ? [...a, ...flat(b)] : [...a, b]), [])flat(['cat', ['lion', 'tiger']]) // ['cat', 'lion', 'tiger']

7.# Xóa các giá trị giả khỏi mảng 

Sử dụng phương pháp này, bạn sẽ có thể lọc ra tất cả các giá trị sai trong mảng.

 

const removeFalsy = (arr) => arr.filter(Boolean)removeFalsy([0, 'a string', '', NaN, true, 5, undefined, 'another string', false])
// ['a string', true, 5, 'another string']

8.# Kiểm tra số chẵn lẻ 

 
 
Nhiệm vụ siêu đơn giản có thể được giải quyết bằng cách sử dụng toán tử modulo (%).

 
const isEven = num => num % 2 === 0isEven(2) // true
isEven(1) // false

9.# Lấy một số nguyên ngẫu nhiên giữa hai số 

 
Phương pháp này được sử dụng để lấy một số nguyên ngẫu nhiên giữa hai số.

const random = (min, max) => Math.floor (Math.random () * (max - min + 1) + min)random (1, 50) // 25 
random (1, 50) // 34

10#. Lấy giá trị trung bình của các đối số 
Chúng ta có thể sử dụng phương thức Reduce để lấy giá trị trung bình của các đối số mà chúng ta cung cấp trong hàm này.

 

	
const Average = (... args) => args.reduce ((a, b) => a + b) / args.length;trung bình (1, 2, 3, 4, 5);   // 3

11.# Làm tròn số đến một dấu thập phân cố định

Sử dụng phương thức Math.pow (), chúng ta có thể làm tròn số đến một dấu thập phân nhất định mà chúng ta cung cấp trong hàm.

 
const round = (n, d) => Number(Math.round(n + "e" + d) + "e-" + d)round(1.005, 2) //1.01
round(1.555, 2) //1.56

12.# Tính số ngày chênh lệch giữa hai giá trị ngày

 
Đôi khi chúng ta cần tính toán số ngày giữa hai ngày nào đó bằng một dòng mã.

const diffDays = (date, otherDate) => Math.ceil(Math.abs(date - otherDate) / (1000 * 60 * 60 * 24));diffDays(new Date("2021-11-3"), new Date("2022-2-1"))  // 90

13.# Biết thứ trong tuần từ một ngày nào đó

 
Bạn có muốn biết một ngày trong năm bất kì là thứ mấy không?

 
const dayOfYear = (date) => Math.floor((date - new Date(date.getFullYear(), 0, 0)) / (1000 * 60 * 60 * 24))dayOfYear(new Date()) // 74

14.# Tạo một màu hex ngẫu nhiên 

Chức năng này sẽ giúp bạn tạo một giá trị màu ngẫu nhiên.

 
const randomColor = () => `#${Math.random().toString(16).slice(2, 8).padEnd(6, '0')}`randomColor() // #9dae4f
randomColor() // #6ef10e


15.# Chuyển đổi màu RGB thành hex Convert RGB color to hex



 
const rgbToHex = (r, g, b) => "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)rgbToHex(255, 255, 255)  // '#ffffff'


16.# Xóa tất cả cookie Clear all cookies




const clearCookies = () => document.cookie.split(';').forEach((c) => (document.cookie = c.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date().toUTCString()};path=/`)))
 

17.# Xác định chế độ tối



const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
 

18.# Hoán đổi giá trị hai biến Swap two variables



 
[foo, bar] = [bar, foo]
 


19.# Tạm dừng vòng lặp


 
const pause = (millis) => new Promise(resolve => setTimeout(resolve, millis))const fn = async () => {
  await pause(1000)  console.log('fatfish') // 1s later
}
fn()


Trên đây là tất cả thủ thuật one-line code mà chúng tôi chia sẻ hôm nay. Cảm ơn bạn đã đọc bài! Hãy trở thành chuyên gia lập trình với 18 bước JavaScript One-Liners.

Bài Học thêm:

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
 
Bình luận Facebook
Khóa học liên quan đến bài viết

FRONT-END VỚI REACTJS VÀ REACT NATIVE

95h (5,5 tháng)
Khóa học duy nhất tại Hà Nội giúp bạn trang bị kiến thức đa nền tảng về Front-end. Với khóa học này, bạn hoàn toàn có thể làm chủ công nghệ phát triển ứng dụng mobile với React Native đồng thời xây dựng được các Trang Web bằng ReactJS...

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!