Lần trước 24 phương pháp ES6 thực tế đã được đón nhận, lần này thêm 10 phương pháp nữa

Nội dung bài viết

Không có nghi ngờ gì khi nói rằng JavaScript là một trong những ngôn ngữ lập trình phổ biến nhất trong phát triển ứng dụng hiện đại bao gồm cả Front-end và back-end. Cho dù bạn đang sử dụng React, Vue hay Angular, nó chỉ là JavaScript. JS xoay quanh một hệ sinh thái quan trọng và rộng lớn và cung cấp vô số khuôn khổ và thư viện có thể giúp chúng tôi phát triển ứng dụng nhanh hơn. 


Trước đây tips javascript cũng đã giới thiệu một bài viết "24 code trong ES6 sử dụng thường xuyên trong javascript 2020" đã giúp rất nhiều và được các lập trình viên hưởng ứng một cách mạnh mẽ, và giờ đây chúng ta sẽ đi tiếp những cách rất hay được tập hợp lại cho các bạn cùng tham khảo. 


Nhưng đôi khi tốt nhất bạn nên lùi lại và cố gắng hiểu cách thực hiện mọi thứ mà không cần sử dụng thư viện. Hãy xem các đoạn mã sau đây, chúng giải quyết các vấn đề đơn giản một cách thanh thoát, và cũng rất hữu ích trong các dự án hàng ngày, vì vậy hãy ghi chú lại và sử dụng chúng khi bạn gặp sự cố.


1. Đảo ngược chuỗi javascript

Trong ví dụ này, chúng tôi sử dụng tính năng operator spread, phương thức reverse Array và phương thức join String để đảo ngược chuỗi đã cho.

const reverseString = string => [...string].reverse().join('')

// Example
reverseString('Medium') // "muideM"
reverseString('Better Programming') // "gnimmargorP retteB"

2. Tính giai thừa của một số xác định javascript

const factorialOfNumber = number => 
  number < 0
    ? (() => {
      throw new TypeError('Lỗi rồi')
    })()
    : number <= 1
      ? 1
      : number * factorialOfNumber(number - 1)


// Example
factorialOfNumber(4) // 24
factorialOfNumber(8) // 40320

3. Chuyển số thành một Array javascript

const converToArray = number => [...`${number}`].map(el => parseInt(el))

// Example
converToArray(5678) // [5, 6, 7, 8]
converToArray(12345678) // [1, 2, 3, 4, 5, 6, 7, 8]

4. Kiểm tra xem số có phải là lũy thừa của 2 không?

const isNumberPowerOfTwo = number => !!number && (number & (number - 1)) == 0

// Example
isNumberPowerOfTwo(100) // false
isNumberPowerOfTwo(128) // true

5. Tạo một mảng các cặp key-values từ các Objects

const keyValuePairsToArray = object => Object.keys(object)
  .map(el => [el, object[el]])

// Example
keyValuePairsToArray({Better: 4, Programming: 2})
// [['Better', 4], ['Programming', 2]]

keyValuePairsToArray({x:1, y:2, z:3})
// [['x', 1], ['y', 2], ['z', 3]]

6. Trả về giá trị lớn nhất trong mảng

const maxElementsFromArray = (array, number = 1) => [...array].sort((x, y) => y -x).slice(0, number)

// Example
maxElementsFromArray([1, 2, 3, 4, 5]) // [5]

maxElementsFromArray([7, 8, 9, 10, 10], 2) // [10, 10]

7. Kiểm tra xem tất cả các phần tử trong mảng có bằng nhau không

const elementsAreEqual = array => array.every(el => el === array[0])

// Example
elementsAreEqual([9, 8, 7, 6, 5, 4]) // false
elementsAreEqual([4, 4, 4, 4, 4]) // true

8. Tính trung bình của các số cho trước javascript

const averageOfTwoNumbers = (...numbers) => numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0) / numbers.length

// Example
averageOfTwoNumbers(...[6, 7, 8]) // 7
averageOfTwoNumbers(...[6, 7, 8, 9]) // 7.5

9. Trả về tổng của hai hoặc nhiều số

const sumOfNumbers = (...array) => [...array].reduce((accumulator, currentValue) => accumulator + currentValue, 0)

// Example
sumOfNumbers(5, 6, 7, 8, 9, 10) // 45
sumOfNumbers(...[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) // 50

10. Trả về tập hợp lũy thừa của một mảng

const powersetOfArray = array => array.reduce((accumulator, currentValue) => accumulator.concat(accumulator.map(el => [currentValue].concat(el))), [[]])

// Example
powersetOfArray([4, 2]) // [[], [4], [2], [2, 4]]
powersetOfArray([1, 2, 3])
// [[], [1], [2], [2,1], [3], [3,1], [3,2], [3,2,1]]

Ref: 24 code trong ES6 sử dụng thường xuyên trong javascript 2020
Bản gốc: webdevhub

Có thể bạn đã bị missing