Metoda JavaScript Array filter () returnează o nouă matrice cu toate elementele care trec testul definit de funcția dată.
Sintaxa filter()
metodei este:
arr.filter(callback(element), thisArg)
Aici, arr este o matrice.
filter () Parametri
filter()
Metoda ia în:
- callback - Funcția de testare pentru a executa pe fiecare element de matrice; returnează
true
dacă elementul trece testul, altfelfalse
. Este nevoie de:- element - Elementul curent care este transmis din matrice.
- thisArg (opțional) - Valoarea de utilizat ca
this
la executarea apelului invers. În mod implicit, esteundefined
.
Returnează valoarea din filter ()
- Returnează o nouă matrice cu numai elementele care au trecut testul.
Note :
filter()
nu modifică matricea originală.filter()
nu se executăcallback
pentru elementele matricei fără valori.
Exemplul 1: filtrarea valorilor din matrice
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 )
Ieșire
(3000, 5000, 8000) (3000, 5000, 8000)
Aici, toate numerele mai mici sau egale cu 2000 și toate valorile nenumerice sunt filtrate.
Exemplul 2: Căutarea în matrice
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' )
Ieșire
('JavaScript', 'Java') ('JavaScript', 'Python', 'PHP')
Aici, elementul și interogarea sunt convertite în minuscule, iar metoda indexOf () este utilizată pentru a verifica dacă interogarea este prezentă în interiorul elementului. Elementele care nu trec acest test sunt filtrate.
Lectură recomandată: harta JavaScript Array ()