Filtr tablicy JavaScript ()

Metoda JavaScript Array filter () zwraca nową tablicę ze wszystkimi elementami, które przejdą test zdefiniowany przez daną funkcję.

Składnia filter()metody to:

 arr.filter(callback(element), thisArg)

Tutaj arr jest tablicą.

filter () Parametry

filter()Sposób odbywa się:

  • callback - funkcja testowa do wykonania na każdym elemencie tablicy; zwraca, truejeśli element przejdzie test, w przeciwnym razie false. Zajmuje:
    • element - bieżący element przekazywany z tablicy.
  • thisArg (opcjonalne) - wartość, która ma być używana thispodczas wykonywania wywołania zwrotnego. Domyślnie tak jest undefined.

Wartość zwracana z filtra ()

  • Zwraca nową tablicę zawierającą tylko elementy, które przeszły test.

Uwagi :

  • filter() nie zmienia oryginalnej tablicy.
  • filter()nie jest wykonywany callbackdla elementów tablicy bez wartości.

Przykład 1: Odfiltrowywanie wartości z tablicy

 const prices = (1800, 2000, null, 3000, 5000, "Thousand", 500, 8000) function checkPrice(element) ( return element> 2000 && !Number.isNaN(element); ) let filteredPrices = prices.filter(checkPrice); console.log(filteredPrices); // ( 3000, 5000, 8000 ) // using arrow function let newPrices = prices.filter((price) => (price> 2000 && !Number.isNaN(price))); console.log(newPrices); // ( 3000, 5000, 8000 )

Wynik

 (3000, 5000, 8000) (3000, 5000, 8000)

Tutaj wszystkie liczby mniejsze lub równe 2000 i wszystkie wartości nieliczbowe są odfiltrowywane.

Przykład 2: Wyszukiwanie w tablicy

 const languages = ("JavaScript", "Python", "Ruby", "C", "C++", "Swift", "PHP", "Java"); function searchFor(arr, query) ( function condition(element) ( return element.toLowerCase().indexOf(query.toLowerCase()) !== -1; ) return arr.filter(condition); ) let newArr = searchFor(languages, "ja"); console.log(newArr); // ( 'JavaScript', 'Java' ) // using arrow function const searchArr = (arr, query) => arr.filter(element => element.toLowerCase().indexOf(query.toLowerCase()) !== -1); let newLanguages = searchArr(languages, "p"); console.log(newLanguages); // ( 'JavaScript', 'Python', 'PHP' )

Wynik

 („JavaScript”, „Java”) („JavaScript”, „Python”, „PHP”)

Tutaj element i zapytanie są konwertowane na małe litery, a metoda indexOf () jest używana do sprawdzenia, czy zapytanie jest obecne w elemencie. Te elementy, które nie przejdą tego testu, są odfiltrowywane.

Zalecana lektura: mapa tablic JavaScript ()

Interesujące artykuły...