Nó không chỉ được yêu cầu đối với một nhà phát triển để hoàn thành các tác vụ mà còn cần phải thực hiện các tác vụ một cách hiệu quả hơn. Ngày nay, có một số thư viện trong JavaScript giúp làm việc với các biến dễ dàng hơn cho các nhà phát triển. Chúng ta sẽ học cách sử dụng các chức năng phổ biến nhất của thư viện Lodash trong hướng dẫn này.
Nếu bạn chưa thử Lodash, thì bây giờ là lúc. Lodash là một gói tiện ích JavaScript đương đại giúp đơn giản hóa việc làm việc với mảng, số nguyên, đối tượng, văn bản và các kiểu dữ liệu khác dễ dàng hơn.
Nó sẽ hỗ trợ bạn xử lý nhiều loại đối tượng khác nhau và sẽ giúp bạn tiết kiệm thời gian bằng cách loại bỏ nhu cầu viết mã các phương thức chung chung. Mã của bạn sẽ rõ ràng hơn với ít dòng hơn và sẽ hoạt động trong tất cả các trình duyệt. Nếu bạn chưa sử dụng nó, bạn nên xem xét cẩn thận.
Không sử dụng Lodash là một mất mát lớn đối với các cơ sở mã JavaScript của chúng tôi. Đây là một giải pháp thanh lịch và không có lỗi cho những thách thức chung mà chúng ta gặp phải trong công việc và việc sử dụng nó sẽ chỉ làm cho mã của chúng ta dễ đọc và dễ quản lý hơn.
Hãy cùng tìm hiểu một số hàm Lodash phổ biến hơn (hoặc không!) Và khám phá thư viện này cực kỳ hữu ích và đẹp mắt như thế nào.
1. _.sortUniq
Tất cả các giá trị trùng lặp sẽ không được trả lại với giá trị này. Bởi vì nó chỉ dành cho các mảng được sắp xếp, điều này chủ yếu được sử dụng vì lý do tốc độ. Điều này chỉ hữu ích nếu bạn đang xử lý một mảng lớn. Nếu bạn muốn cải thiện tốc độ, hãy sắp xếp mảng của bạn và sử dụng các phương pháp hoạt động tốt hơn với các mảng được sắp xếp.
Lodash có một số chức năng khác tương tự như chức năng này. Bạn có thể xem .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqByq, .sortedUniqByq, .sortedUniqByq,.
2. _.giảm
_.reduce tương tự như một chức năng bộ lọc. Sự khác biệt duy nhất là bạn có tùy chọn chọn hình thức của đối tượng trả về. Đó là điều bình thường, nếu bạn không hiểu những gì tôi đang nói; có một ví dụ cho nó.
Về bản chất, chúng tôi trả về một đối tượng mới chứa những người dùng được phân loại theo độ tuổi, nhưng chỉ dành cho những người từ 18 đến 59 tuổi. Chức năng trợ giúp Lodash này là một trong những chức năng được sử dụng phổ biến nhất. Nó cũng được bao gồm trong ES6. Tôi cũng muốn chỉ ra hai sai lầm điển hình: hãy nhớ trả về kết quả khi kết thúc hàm và cung cấp giá trị mặc định cho kết quả dưới dạng tham số thứ ba (tại đây).
3. _.get và ._set
Đối với điều này, tôi sẽ đánh lừa bạn phần nào bằng cách hiển thị hai chức năng hoạt động gần như giống nhau. _.get trả về một giá trị thuộc tính từ một đối tượng và _.set, bạn đoán nó, hãy đặt một thuộc tính với một giá trị. Không có gì độc đáo, ngoại trừ việc bạn có thể truy cập một thuộc tính thông qua đường dẫn của nó.
Chúng ta hãy xem xét một ví dụ.
Nếu đường dẫn không tồn tại trong khi gọi _.set, nó sẽ được tạo. Sẽ không còn lỗi “Không thể đặt thuộc tính 'các mục' không xác định" nữa. Nếu đường dẫn không tồn tại, _.get sẽ trả về không xác định thay vì lỗi. Nếu đường dẫn chuyển thành không xác định, bạn cũng có thể cung cấp giá trị mặc định (tham số thứ ba).
4. _. tìm
Thay vì lặp qua một mảng để tìm một đối tượng, chúng ta có thể sử dụng _.find. Điều đó tốt, nhưng đó không phải là điều duy nhất _.find có thể làm. Với một dòng mã, bạn cũng có thể khám phá một đối tượng bằng cách sử dụng nhiều thuộc tính. Kiểm tra nó ra!
5. _.keyBy
Một trong những mục yêu thích của tôi là _.keyBy. Nó khá hữu ích khi cố gắng lấy một đối tượng có một thuộc tính nhất định. Giả sử chúng tôi có 100 mục nhập blog và muốn lấy một mục có id “34abc”. Chúng ta sẽ phải làm cái này như thế nào? Hãy xem điều gì sẽ xảy ra! Phương pháp này có thể giúp bạn sắp xếp một tập hợp đối tượng nếu một máy chủ cung cấp nó dưới dạng một mảng. Một hàm cũng có thể được sử dụng làm đối số thứ hai.
6. _.forEach
Phương thức này sẽ lặp lại từng mảng đối tượng một, cho phép bạn thực hiện bất kỳ logic nào bạn muốn. Trong ví dụ đầu tiên này, tôi sẽ lặp qua danh sách các đối tượng người dùng, kết hợp họ và tên của họ để tạo một thuộc tính mới có tên là fullName.
forEach trong số này chấp nhận hai tham số. Mảng chúng ta đang lặp lại là tham số đầu tiên. Đối số thứ hai là một hàm lặp, với tham số đầu tiên là tham chiếu mục riêng lẻ và tham số thứ hai là chỉ số hiện tại của lần lặp.
7. _.bản đồ
Bản đồ, như forEach, lặp qua một mảng giá trị. Mặt khác, hàm bản đồ trả về một mảng giá trị mới được cung cấp bởi hàm lặp. Chúng tôi đang sử dụng cùng một tập hợp người dùng như trong ví dụ forEach của chúng tôi ở đây. Chúng tôi có thể sử dụng _.map để tạo một biến mới có một mảng phẳng gồm tất cả tên đầy đủ của người dùng.
8. _.khác biệt
Hàm khác biệt sẽ tạo ra một mảng giá trị mới khác nhau giữa mảng đầu tiên và mảng thứ hai. Điều quan trọng cần lưu ý là vị trí của các đối số ảnh hưởng đến kết quả.
9. _.quên
Hàm _.get () có thể hỗ trợ chúng ta định vị một phần tử trong một đối tượng. Chúng ta có thể đặt một giá trị mặc định cho hàm _.get () để trả về nếu một phần tử không được tìm thấy trong đường dẫn được cung cấp. Hàm _.get () nhận ba tham số, tham số đầu tiên là đối tượng mà từ đó chúng ta muốn lấy một phần tử. Con đường là thứ hai. Giá trị thứ ba là giá trị mặc định mà chúng tôi muốn trả về nếu không thể định vị một phần tử.
10. _. tìm
Hàm _find () có thể giống với phương thức _.get (). Hàm _.find (), giống như phương thức _.get (), chấp nhận ba tham số. Tuy nhiên, không giống như phương thức _.get (), đối số đầu tiên có thể là một mảng hoặc một đối tượng. Đối số thứ hai chỉ định hàm sẽ được gọi trên mỗi lần lặp. Đầu vào thứ ba là chỉ mục bắt đầu của bộ sưu tập. Bởi vì hàm _.find () lặp qua từng phần tử trong một tập hợp.
11. _.groupBy
Tạo một đối tượng được đặt tên theo kết quả của một hàm (hoặc tên thuộc tính được chọn ngẫu nhiên), với mỗi giá trị là một mảng các đối tượng có cùng một khóa.
12. _.bộ
Phương thức _.set () là nghịch đảo của phương thức _.get (). Nó sẽ thay đổi giá trị của một phần tử tại một đường dẫn nhất định. Đối tượng hoặc mảng là tham số đầu tiên, đường dẫn là tham số thứ hai và giá trị bạn muốn đặt là tham số thứ ba.
13. _.hợp nhất
Nó hoạt động tương tự như Object.assign, ngoại trừ nó truy xuất sâu vào cấu trúc bên dưới để cập nhật các đối tượng sâu hơn thay vì thay thế chúng.
14. ._deburr
Đây là một ví dụ khá đơn giản. Tất cả "kết hợp các dấu phụ" đều bị loại bỏ. Do đó “é” trở thành “e”. Khi có quốc tế hóa và bản địa hóa, bạn nên gỡ lỗi văn bản cho các chức năng tìm kiếm.
15. _.gỡ bỏ
Đây là một trong những chiến lược Lodash hiệu quả nhất. Cũng có thể khó hiểu nó làm gì và khi nào bạn nên sử dụng nó. Phương thức _.debounce () trả về một hàm. Hàm của phương thức _.debounce () sẽ trì hoãn việc gọi cho đến khi một số mili giây được chỉ định trôi qua kể từ khi hàm được gọi lần cuối.
Kết luận
Lodash là một phần mở rộng mạnh mẽ của ngôn ngữ JavaScript. Với nỗ lực tối thiểu, người ta có thể xây dựng mã ngắn gọn và hiệu quả. Lodash cũng hoàn toàn theo mô-đun. Mặc dù một số chức năng của nó cuối cùng có thể không được dùng nữa, tôi tin rằng nó vẫn sẽ cung cấp nhiều lợi ích cho các nhà phát triển đồng thời thúc đẩy sự phát triển của ngôn ngữ JS.
Tôi hy vọng vài tính năng này của Lodash sẽ giúp bạn thấy được Lodash có thể mạnh mẽ như thế nào khi làm việc với mảng, đối tượng và bộ sưu tập. Bạn có thể ghé thăm tài liệu hướng dẫn để khám phá rất nhiều tùy chọn khác mà nó phải cung cấp.
Bình luận