Od programisty wymaga się nie tylko wykonywania zadań, ale także wykonywania zadań w bardziej wydajny sposób. Obecnie w JavaScript dostępnych jest kilka bibliotek, które ułatwiają programistom pracę ze zmiennymi. W tym samouczku nauczymy się, jak korzystać z najczęściej używanych funkcji biblioteki Lodash.
Jeśli jeszcze nie próbowałeś Lodash, teraz jest ten moment. Lodash to nowoczesny pakiet narzędzi JavaScript, który upraszcza pracę z tablicami, liczbami całkowitymi, obiektami, tekstami i innymi typami danych.
Pomoże ci w radzeniu sobie z różnego rodzaju obiektami i zaoszczędzi czas, eliminując konieczność kodowania metod generycznych. Twój kod będzie czystszy z mniejszą liczbą wierszy i będzie działał we wszystkich przeglądarkach. Jeśli jeszcze go nie używasz, powinieneś dokładnie to rozważyć.
Nieprzyjęcie Lodash to ogromna strata dla naszych baz kodów JavaScript. Jest to wolne od błędów i eleganckie rozwiązanie typowych wyzwań, z którymi mamy do czynienia w pracy, a korzystanie z niego sprawi, że nasz kod będzie bardziej czytelny i łatwiejszy w zarządzaniu.
Zagłębmy się w niektóre z bardziej popularnych (lub nie!) funkcji Lodash i odkryjmy, jak niezwykle użyteczna i piękna jest ta biblioteka.
1. _.sortedUniq
Wszystkie zduplikowane wartości nie zostaną zwrócone z tym. Ponieważ jest to tylko dla posortowanych tablic, jest to wykorzystywane głównie ze względu na szybkość. Jest to przydatne tylko wtedy, gdy masz do czynienia z dużą tablicą. Jeśli chcesz zwiększyć szybkość, posortuj swoją tablicę i użyj metod, które działają lepiej z posortowanymi tablicami.
Lodash ma wiele innych podobnych funkcji. Możesz spojrzeć na .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy.
2. _.redukuj
_.reduce jest podobny do funkcji filtrowania. Jedyną różnicą jest to, że masz możliwość wyboru formy zwracanego obiektu. To normalne, jeśli nie rozumiesz, co mówię; jest na to przykład.
Zasadniczo zwracamy nowy obiekt zawierający użytkowników sklasyfikowanych według wieku, ale tylko dla osób w wieku od 18 do 59 lat. Ta funkcja pomocnicza Lodash jest jedną z najczęściej używanych. Jest również zawarty w ES6. Chciałbym również zwrócić uwagę na dwa typowe błędy: pamiętaj, aby zwrócić wynik na zakończenie funkcji i podać domyślną wartość wyniku jako trzeci parametr (tutaj).
3. _.get i ._set
W tym przypadku oszukam cię nieco, pokazując dwie funkcje, które wykonują prawie to samo. _.get zwraca wartość właściwości z obiektu, a _.set, cóż, zgadłeś, ustawia właściwość z wartością. Nic wyjątkowego, z wyjątkiem tego, że możesz uzyskać dostęp do właściwości poprzez jej ścieżkę.
Spójrzmy na przykład.
Jeśli ścieżka nie istnieje podczas wywoływania _.set, zostanie wygenerowana. Nie będzie więcej błędów „Nie można ustawić właściwości »elementów« niezdefiniowanych”. Jeśli ścieżka nie istnieje, _.get zwróci undefined zamiast błędu. Jeśli ścieżka zostanie rozwiązana jako niezdefiniowana, możesz również podać wartość domyślną (trzeci parametr).
4. _.znaleźć
Zamiast przechodzić przez tablicę w celu znalezienia pojedynczego obiektu, możemy użyć _.find. To dobrze, ale to nie jedyna rzecz, którą może zrobić _.find. Za pomocą jednego wiersza kodu możesz również wykryć obiekt, wykorzystując liczne właściwości. Sprawdź to!
5. _.klucz wg
Jednym z moich ulubionych jest _.keyBy. Jest to dość przydatne przy próbie zdobycia obiektu z określonym atrybutem. Załóżmy, że mamy 100 wpisów na blogu i chcemy pobrać wpis o identyfikatorze „34abc”. Jak to zrobimy? Zobaczmy co się stanie! Ta metoda może pomóc w zorganizowaniu kolekcji obiektów, jeśli serwer udostępnia ją jako tablicę. Funkcji można również użyć jako drugiego argumentu.
6. _.dla każdego
Ta metoda będzie iterować po tablicy obiektów jeden po drugim, umożliwiając wykonanie dowolnej logiki. W tym pierwszym przykładzie przejrzę listę obiektów użytkowników, łącząc ich imiona i nazwiska, aby utworzyć nową właściwość o nazwie fullName.
forEach z nich akceptuje dwa parametry. Tablica, przez którą przechodzimy w pętli, jest pierwszym parametrem. Drugi argument jest funkcją iteracji, przy czym pierwszym parametrem jest odwołanie do indywidualnego elementu, a drugim bieżący indeks iteracji.
7. _.mapa
Map, podobnie jak forEach, iteruje po tablicy wartości. Z drugiej strony funkcja map zwraca nową tablicę wartości dostarczonych przez funkcję iteracji. Używamy tej samej kolekcji użytkowników, co w naszym przykładzie forEach tutaj. Możemy użyć _.map do wygenerowania nowej zmiennej, która ma spłaszczoną tablicę pełnych nazw wszystkich użytkowników.
8. _.różnica
Funkcja różnicy utworzy nową tablicę wartości, które różnią się między pierwszą a drugą tablicą. Ważne jest, aby pamiętać, że lokalizacja argumentów wpływa na wyniki.
9. _.dostać
Funkcja _.get() może nam pomóc w zlokalizowaniu elementu w obiekcie. Możemy ustawić wartość domyślną dla funkcji _.get(), która będzie zwracana, jeśli element nie zostanie znaleziony w podanej ścieżce. Funkcja _.get() przyjmuje trzy parametry, z których pierwszym jest obiekt, z którego chcemy uzyskać element. Ścieżka jest druga. Trzecia wartość to wartość domyślna, którą chcemy zwrócić, jeśli nie można zlokalizować elementu.
10. _.znaleźć
Funkcja _find() może wydawać się identyczna z metodą _.get(). Funkcja _.find() podobnie jak metoda _.get() przyjmuje trzy parametry. Jednak w przeciwieństwie do metody _.get() pierwszym argumentem może być tablica lub obiekt. Drugi argument określa funkcję, która zostanie wywołana w każdej iteracji. Trzecie wejście to indeks początkowy kolekcji. Ponieważ funkcja _.find() iteruje po każdym elemencie w kolekcji.
11. _.grupuj wg
Utwórz obiekt nazwany na podstawie wyniku funkcji (lub losowo wybranej nazwy właściwości), przy czym każda wartość będzie tablicą obiektów z tym samym kluczem.
12. _.zestaw
Metoda _.set() jest odwrotnością metody _.get(). Zmieni wartość elementu w danej ścieżce. Obiekt lub tablica to pierwszy parametr, ścieżka to drugi, a wartość, którą chcesz ustawić, to trzeci.
13. _.scalanie
Działa podobnie do Object.assign, z tą różnicą, że rekursuje w głąb podstawowej struktury, aby zaktualizować głębsze obiekty, zamiast je zastępować.
14. ._gratowanie
To jest raczej prosty przykład. Usunięto wszystkie „kombinacyjne oznaczenia diakrytyczne”. W ten sposób „é” staje się „e”. W przypadku internacjonalizacji i lokalizacji dobrą praktyką jest usuwanie zadziorów z tekstu dla funkcji wyszukiwania.
15. _.odbicie
Jest to jedna z najskuteczniejszych strategii Lodash. Może być również trudno zrozumieć, co robi i kiedy należy go używać. Metoda _.debounce() zwraca funkcję. Funkcja metody _.debounce() opóźni wywołanie do momentu, gdy od ostatniego wywołania funkcji minie określona liczba milisekund.
Wnioski
Lodash to potężne rozszerzenie języka JavaScript. Przy minimalnym wysiłku można zbudować zwięzły i wydajny kod. Lodash jest również całkowicie modułowy. Chociaż niektóre z jego funkcjonalności mogą ostatecznie zostać wycofane, wierzę, że nadal zapewni wiele korzyści programistom, jednocześnie napędzając ewolucję języka JS.
Mam nadzieję, że te kilka możliwości Lodasha pomoże Ci zobaczyć, jak potężny może być Lodash podczas pracy z tablicami, obiektami i kolekcjami. Możesz odwiedzić dokumentacja aby odkryć mnóstwo innych opcji, które ma do zaoferowania.
Dodaj komentarz