Метода ЈаваСцрипт низа филтер () враћа нови низ са свим елементима који пролазе тест дефинисан датом функцијом.
Синтакса filter()
методе је:
arr.filter(callback(element), thisArg)
Овде је арр низ.
филтер () Параметри
filter()
Метод узима у:
- повратни позив - тест функција која се извршава на сваком елементу низа; враћа
true
ако елемент прође тест, иначеfalse
. Потребно је:- елемент - тренутни елемент који се преноси из низа.
- тхисАрг (опционално) - Вредност која се користи као
this
приликом извршавања повратног позива. Подразумевано јеundefined
.
Врати вредност из филтера ()
- Враћа нови низ са само елементима који су прошли тест.
Напомене :
filter()
не мења оригинални низ.filter()
не извршаваcallback
за елементе низа без вредности.
Пример 1: Филтрирање вредности из низа
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 )
Оутпут
(3000, 5000, 8000) (3000, 5000, 8000)
Овде се филтрирају сви бројеви мањи или једнаки 2000 и све ненумеричке вредности.
Пример 2: Претраживање у низу
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' )
Оутпут
('ЈаваСцрипт', 'Јава') ('ЈаваСцрипт', 'Питхон', 'ПХП')
Овде се и елемент и упит конвертују у мала слова, а метода индекОф () користи се за проверу да ли је упит присутан унутар елемента. Они елементи који не прођу овај тест филтрирају се.
Препоручено за читање: Мапа низа ЈаваСцрипт ()