Wpis z mikrobloga

Jak usunąć liczbę z tablicy z użyciem JS?

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
tomaszs - Jak usunąć liczbę z tablicy z użyciem JS?

Powiedzmy, że masz tablicę lic...

źródło: comment_1606910115KwWtyQX6vCadG3Fw3PYT8A.gif

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach