JavaScript Array filter () yöntemi, verilen işlev tarafından tanımlanan testi geçen tüm öğeleri içeren yeni bir dizi döndürür.
filter()
Yöntemin sözdizimi şöyledir:
arr.filter(callback(element), thisArg)
Burada dizi bir dizidir.
filter () Parametreler
filter()
Yöntem alır:
- callback - Her dizi öğesinde yürütülecek test işlevi;
true
öğe testi geçerse döner , aksi takdirdefalse
. Alır:- öğe - Diziden iletilmekte olan geçerli öğe.
- thisArg (isteğe bağlı) -
this
Geri aramayı yürütürken olduğu gibi kullanılacak değer . Varsayılan olarak öyleundefined
.
Filtreden dönüş değeri ()
- Yalnızca testi geçen öğeleri içeren yeni bir dizi döndürür.
Notlar :
filter()
orijinal diziyi değiştirmez.filter()
callback
değerleri olmayan dizi öğeleri için çalıştırılmaz .
Örnek 1: Diziden değerleri filtreleme
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 )
Çıktı
(3000, 5000, 8000) (3000, 5000, 8000)
Burada, 2000'den küçük veya eşit tüm sayılar ve sayısal olmayan tüm değerler filtrelenir.
Örnek 2: Dizide Arama
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' )
Çıktı
('JavaScript', 'Java') ('JavaScript', 'Python', 'PHP')
Burada, hem öğe hem de sorgu küçük harfe dönüştürülür ve indexOf () yöntemi, öğenin içinde sorgunun olup olmadığını kontrol etmek için kullanılır. Bu testi geçemeyen öğeler filtrelenir.
Önerilen Kaynaklar: JavaScript Dizi haritası ()