Javascript Array filter ()

JavaScript Array filter () -metoden returnerer en ny matrise med alle elementene som består testen definert av den gitte funksjonen.

Syntaksen til filter()metoden er:

 arr.filter(callback(element), thisArg)

Her er arr en matrise.

filter () Parametere

Den filter()metoden tar i:

  • tilbakeringing - Testfunksjonen som skal utføres på hvert matriseelement; returnerer truehvis elementet består testen, ellers false. Det tar inn:
    • element - Det nåværende elementet som sendes fra matrisen.
  • thisArg (valgfritt) - Verdien du skal bruke som thisnår du utfører tilbakeringing. Som standard er det det undefined.

Returverdi fra filter ()

  • Returnerer en ny matrise med bare elementene som besto testen.

Merknader :

  • filter() endrer ikke den opprinnelige matrisen.
  • filter()kjøres ikke callbackfor matriseelementer uten verdier.

Eksempel 1: Filtrering av verdier fra Array

 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 )

Produksjon

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

Her blir alle tallene mindre enn eller lik 2000 , og alle ikke-numeriske verdier filtrert ut.

Eksempel 2: Søke i matrise

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

Produksjon

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

Her konverteres både element og spørring til små bokstaver, og metoden indexOf () brukes til å sjekke om spørringen er tilstede i elementet. De elementene som ikke består denne testen, blir filtrert ut.

Anbefalt lesing: JavaScript Array map ()

Interessante artikler...