Filtr pole Javascript ()

Metoda JavaScript Array filter () vrací nové pole se všemi prvky, které projdou testem definovaným danou funkcí.

Syntaxe filter()metody je:

 arr.filter(callback(element), thisArg)

Zde je arr pole.

filter () Parametry

filter()Metoda bere v:

  • zpětné volání - testovací funkce, která se má provést na každém prvku pole; vrátí, truepokud prvek projde testem, jinak false. Trvá:
    • element - Aktuální prvek předávaný z pole.
  • thisArg (volitelně) - Hodnota, která se použije jako thispři provádění zpětného volání. Ve výchozím nastavení je undefined.

Návratová hodnota z filtru ()

  • Vrátí nové pole pouze s prvky, které prošly testem.

Poznámky :

  • filter() nezmění původní pole.
  • filter()neprovádí callbackpro prvky pole bez hodnot.

Příklad 1: Filtrování hodnot z pole

 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 )

Výstup

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

Zde jsou odfiltrována všechna čísla menší nebo rovna 2000 a všechny nečíselné hodnoty.

Příklad 2: Vyhledávání v poli

 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' )

Výstup

 ('JavaScript', 'Java') ('JavaScript', 'Python', 'PHP')

Zde se element i dotaz převádějí na malá písmena a pomocí metody indexOf () se kontroluje, zda je v prvku prvek. Ty prvky, které v tomto testu neprocházejí, jsou odfiltrovány.

Doporučené čtení: Mapa pole JavaScript ()

Zajímavé články...