Filter әдісі
filter әдісі массив элементтерін сүзгілеп,
тек белгілі бір шартқа сәйкес келетін элементтерді
қалдыруға мүмкіндік береді.
Әдіс параметр ретінде функцияны қабылдайды, ол
әрбір массив элементі үшін орындалады.
Әдіс нәтиже ретінде жаңа массив қайтарады,
оған тек берілген функция true мәнін қайтарған
элементтер ғана енеді.
Функцияға үш параметр беруге болады. Егер бұл параметрлер бар болса (олар міндетті емес), онда біріншісіне автоматты түрде массив элементі, екіншісіне оның массивтегі нөмірі (индексі), ал үшіншісіне - массивтің өзі салынады.
Синтаксис
let жаңа массив = массив.filter(function(элемент, индекс, массив) {
код
return true немесе false
});
Мысал
Массивті сүзгілейік, онда тек оң сандарды қалдырайық:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(function(elem) {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Кодты орындау нәтижесі:
[5, 1, 1, 3, 4]
Мысал
Кодты жебірелген функцияны пайдаланып қысқартайық:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Кодты орындау нәтижесі:
[5, 1, 1, 3, 4]
Мысал
Кодты логикалық амалдарды қысқартуды пайдаланып қысқартайық:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Кодты орындау нәтижесі:
[5, 1, 1, 3, 4]
Мысал
Кодты жебірелген функциялардың ерекшеліктерін пайдаланып қысқартайық:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Кодты орындау нәтижесі:
[5, 1, 1, 3, 4]
Мысал
Қажет болған жағдайда үшінші параметрге массивтің өзін бере аласыз:
let res = arr.filter(function(elem, index, arr) {
бұл жерде arr массивіне қол жеткізу болады
});