Metoda JavaScript array JavaScript () vraća novi niz sa svim elementima koji prolaze test definiran zadanom funkcijom.
Sintaksa filter()
metode je:
arr.filter(callback(element), thisArg)
Ovdje je arr niz.
filter () Parametri
filter()
Postupak uzima u:
- povratni poziv - test funkcija koju treba izvršiti na svakom elementu niza; vraća
true
ako element prolazi test, inačefalse
. Potrebno je:- element - trenutni element koji se prenosi iz niza.
- thisArg (nije obavezno) - Vrijednost koja se koristi kao
this
prilikom izvršavanja povratnog poziva. Prema zadanim postavkama jestundefined
.
Vrati vrijednost iz filtra ()
- Vraća novi niz sa samo elementima koji su prošli test.
Napomene :
filter()
ne mijenja izvorni niz.filter()
ne izvršavacallback
za elemente niza bez vrijednosti.
Primjer 1: Filtriranje vrijednosti iz niza
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 )
Izlaz
(3000, 5000, 8000) (3000, 5000, 8000)
Ovdje se filtriraju svi brojevi manji od ili jednaki 2000 i sve nenumeričke vrijednosti.
Primjer 2: Pretraživanje u nizu
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' )
Izlaz
('JavaScript', 'Java') ('JavaScript', 'Python', 'PHP')
Ovdje se i element i upit pretvaraju u mala slova, a metoda indexOf () koristi se za provjeru je li upit prisutan unutar elementa. Oni elementi koji ne prođu ovaj test filtriraju se.
Preporučeno za čitanje: karta JavaScript niza ()