Метод 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]
Мисал
Кодду arrow функциясы колдонуу менен кыскарталы:
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]
Мисал
Кодду arrow функциялардын өзгөчөлүктөрүн колдонуу менен кыскарталы:
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 массивине кирүүгө болот
});