Javascript-taulukon suodatin ()

JavaScript Array filter () -menetelmä palauttaa uuden taulukon, jossa on kaikki elementit, jotka läpäisevät annetun funktion määrittelemän testin.

Menetelmän syntaksi filter()on:

 arr.filter(callback(element), thisArg)

Tässä arr on taulukko.

filter () Parametrit

filter()Menetelmä vie:

  • takaisinsoitto - testitoiminto, joka suoritetaan jokaiselle taulukkoelementille; palaa, truejos elementti läpäisee testin, muuten false. Se vie:
    • elementti - Nykyinen elementti siirretään matriisista.
  • thisArg (valinnainen) - Arvo, jota käytetään thistakaisinsoittoa suoritettaessa. Oletuksena se on undefined.

Palautusarvo suodattimelta ()

  • Palauttaa uuden taulukon, joka sisältää vain testin läpäisseet elementit.

Huomautuksia :

  • filter() ei muuta alkuperäistä taulukkoa.
  • filter()ei suorita callbackmatriisielementeille ilman arvoja.

Esimerkki 1: Arvojen suodattaminen taulukosta

 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 )

Tuotos

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

Tässä kaikki luvut, jotka ovat pienempiä tai yhtä suuria kuin 2000 , ja kaikki ei-numeeriset arvot suodatetaan.

Esimerkki 2: Hakeminen taulukosta

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

Tuotos

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

Tässä elementti ja kysely molemmat muunnetaan pieniksi kirjaimiksi, ja indexOf () -menetelmää käytetään tarkistamaan, onko kyselyä elementin sisällä. Ne elementit, jotka eivät läpäise tätä testiä, suodatetaan.

Suositeltava lukeminen: JavaScript Array map ()

Mielenkiintoisia artikkeleita...