Javascript masīva filtrs ()

JavaScript masīva filtra () metode atgriež jaunu masīvu ar visiem elementiem, kas iztur testu, kuru nosaka dotā funkcija.

Metodes sintakse filter()ir šāda:

 arr.filter(callback(element), thisArg)

Lūk, arr ir masīvs.

filtrs () Parametri

filter()Metode ņem in:

  • atzvanīšana - testa funkcija, kas jāizpilda katram masīva elementam; atgriežas, trueja elements iztur pārbaudi, cits false. Tas aizņem:
    • elements - pašreizējais elements, kas tiek nodots no masīva.
  • thisArg (pēc izvēles) - vērtība, kas jāizmanto kā this, veicot atzvanīšanu. Pēc noklusējuma tā ir undefined.

Atgriezeniskā vērtība no filtra ()

  • Atgriež jaunu masīvu ar tikai tiem elementiem, kas izturējuši pārbaudi.

Piezīmes :

  • filter() nemaina sākotnējo masīvu.
  • filter()neizpilda callbackmasīva elementiem bez vērtībām.

1. piemērs: masīva vērtību filtrēšana

 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 )

Rezultāts

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

Šeit tiek izfiltrēti visi skaitļi, kuru vērtība ir mazāka vai vienāda ar 2000 , un visas skaitliskās vērtības.

2. piemērs: meklēšana masīvā

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

Rezultāts

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

Šeit gan elements, gan vaicājums tiek pārvērsti par mazajiem burtiem, un metodi indexOf () izmanto, lai pārbaudītu, vai vaicājums atrodas elementa iekšpusē. Tie elementi, kas neiztur šo pārbaudi, tiek filtrēti.

Ieteicamā literatūra: JavaScript masīva karte ()

Interesanti raksti...