Метод filter
filter методаси массив элементларини фильтрлаб, фақат муайян шартга мос келадиган элементларни колдириш имконини беради.
Метод параметр сифатида хар бир массив элементи учун ишлайдиган функцияни олади.
Метод ўзининг натижаси сифатида янги массивни кайтаради, унга фақат узатилган функция true кайтарган элементлар киради.
Функцияга учта параметр узатиш мумкин. Aгар бу параметрлар мавжуд бўлса (улар мажбурий эмас), у холда биринчисига автомат тарзида массив элементи, иккинчисига унинг массивдаги номери (индекс), учинчисига эса массивнинг ўзи тушади.
Синтаксис
let янги массив = массив.filter(function(элемент, индекс, массив) {
код
return true ёки false
});
Мисол
{Kелинг, массивни фильтрлаб, унда фақат мусбат сонлар колдирайлик:}
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 массивига доступ бўлади
});