JavaScript Array filter () -metoden returnerer et nyt array med alle elementer, der består testen defineret af den givne funktion.
Metodens syntaks filter()
er:
arr.filter(callback(element), thisArg)
Her er arr en matrix.
filter () Parametre
Den filter()
metode tager i:
- callback - Testfunktionen, der skal udføres på hvert array-element; returnerer,
true
hvis elementet består testen, ellersfalse
. Det tager i:- element - Det aktuelle element, der sendes fra arrayet.
- thisArg (valgfri) - Den værdi, der skal bruges som
this
ved tilbagekaldelse. Som standard er detundefined
.
Returværdi fra filter ()
- Returnerer et nyt array med kun de elementer, der bestod testen.
Bemærkninger :
filter()
ændrer ikke den oprindelige matrix.filter()
udfører ikkecallback
for matrixelementer uden værdier.
Eksempel 1: Filtrering af værdier 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 )
Produktion
(3000, 5000, 8000) (3000, 5000, 8000)
Her filtreres alle tal mindre end eller lig med 2000 og alle ikke-numeriske værdier.
Eksempel 2: Søgning i matrix
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' )
Produktion
('JavaScript', 'Java') ('JavaScript', 'Python', 'PHP')
Her konverteres både element og forespørgsel til små bogstaver, og metoden indexOf () bruges til at kontrollere, om forespørgsel findes i elementet. De elementer, der ikke består denne test, filtreres ud.
Anbefalet læsning: JavaScript Array map ()