Javascripti massiivi filter ()

JavaScripti massiivi filter () tagastab uue massiivi kõigi elementidega, mis läbivad antud funktsiooniga määratud testi.

Meetodi süntaks filter()on:

 arr.filter(callback(element), thisArg)

Siin on arr massiiv.

filter () Parameetrid

filter()Meetod võtab:

  • tagasihelistamine - testi funktsioon iga massiivi elemendi jaoks; naaseb, truekui element läbib testi, muidu false. See võtab sisse:
    • element - praegune element edastatakse massiivist.
  • thisArg (valikuline) - väärtus, mida kasutatakse thistagasihelistamisel. Vaikimisi on undefined.

Tagastusväärtus filtrist ()

  • Tagastab uue massiivi ainult testi läbinud elementidega.

Märkused :

  • filter() ei muuda algset massiivi.
  • filter()ei käivita callbackväärtusteta massiivi elementide puhul.

Näide 1: Väärtuste filtreerimine massiivist

 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äljund

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

Siin filtreeritakse välja kõik arvud, mis on väiksemad või võrdsed 2000 ja kõik mittearvulised väärtused.

Näide 2: Otsing massiivist

 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äljund

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

Siin teisendatakse nii element kui ka päring väiketähtedeks ning meetodit indexOf () kasutatakse selleks, et kontrollida, kas päringus elementi sees on. Need elemendid, mis seda testi ei läbi, filtreeritakse välja.

Soovitatav lugemine: JavaScripti massiivi kaart ()

Huvitavad Artiklid...