Aktywne Wpisy

ibleedforyou +1260
Twoja stara mieszka w bloku rysunkowym

PrawdziwyMongolzMongolii +1017
Małe przypomnienie:
Jeśli umrzesz dziś, w ciągu kilku dni ktoś inny zajmie twoje miejsce. Weź urlop. Korzystaj z L4, gdy tego potrzebujesz.
Wyłącz powiadomienia po pracy.
Postaw siebie na pierwszym miejscu.
Jeśli umrzesz dziś, w ciągu kilku dni ktoś inny zajmie twoje miejsce. Weź urlop. Korzystaj z L4, gdy tego potrzebujesz.
Wyłącz powiadomienia po pracy.
Postaw siebie na pierwszym miejscu.





Powiedzmy, że masz tablicę liczb i chcesz usunąć wszystkie piątki, czyli zrobić coś takiego:
//PSEUDOKOD, DALEJ BEDZIE COPY-PASTE
[1,2,3,4,5,6,8,5].remove(5) // result: [1,2,3,4,6,8]
Najlepszym sposobem usunięcia piątek jest taki kod:
const input = [1,2,3,4,5,6,8,5];
const removeNumber = 5;
const result = input.filter(
item => item != removeNumber
);
Powyższy kod używa array.prototype.filter. Ta metoda iteruje po wszystkich elementach tablicy i zwraca tylko te, które spełniają warunek funkcji strzałkowej. W efekcie, stara tablica pozostaje jaka była i powstaje nowa tablica result zawierająca jedynie elementy, które nie są równe pięciu.
Rozważania
---
Jakość kodu
Array.filter.prototype to najbardziej czytelna metoda do usuwania liczby w tym przypadku. Zostawia mało miejsca na błędy i używa głównych funkcjonalności JavaScriptu.
Dlaczego nie array.prototype.map?
Czasem metoda array.prototype.map jest rozważane jako alternatywa dla array.prototype.filter. Ale nie powinna być ona używana. Dlatego, że filter służy do filtrowania elementów, które spełniają warunek funkcji strzałkowej (dokładnie co potrzebujemy), podczas gdy map jest używane do modyfikacji elementów. Ponieważ nie zmieniamy elementów, gdy po nich iterujemy, poprawną funkcją jest filter.
Wsparcie
Jak na dzisiaj (2.12.2020) 97,05% użytkowników internetu ma przeglądarki, które wspierają array.prototype.filter. Także ogólnie jest to metoda, którą można używać bezpiecznie. Ale IE6-8 nie wspierają jej. Jeśli Twój przypadek użycia wymaga wsparcia dla tych przeglądarek możesz znaleźć w sieci dobrze opracowany polyfill przez Christa Ferdinanti.
Wydajność
Array.prototype.filter jest świetny w wielu przypadkach. Jednak, gdy szukasz większej wydajności na potrzeby zaawansowanego przetwarzania danych, możesz rozejrzeć się za ulepszeniami. Pomocne może być użycie zwykłej pętli for. Kolejnym świetnym rozwiązaniem jest przemyślenie, czy tablica wejściowa faktycznie musi być tak duża. Może być to sygnał, że JavaScript powinien ze źródła danych otrzymywać do przetworzenia zredukowaną tablicę.
Chcesz więcej? Obserwuj #dlaprogramistow
Array.prototype.filter GIF - źródło
#javascript #naukaprogramowania #programujzwykopem #frontend #nodejs
źródło: comment_1606910115KwWtyQX6vCadG3Fw3PYT8A.gif
Pobierz