Metode filter
Metode filter ļauj filtrēt
masīva elementus, atstājot tikai tos,
kas atbilst noteiktiem nosacījumiem.
Metode kā parametru saņem funkciju, kas
tiks izpildīta katram masīva elementam.
Metodes rezultātā tiek atgriezts jauns
massīvs, kurā iekļausies tikai tie elementi,
kuriem padotā funkcija atgriezīs true.
Funkcijai var padot trīs parametrus. Ja šie parametri ir (tie nav obligāti), tad pirmajā automātiski nonāks elements massīvā, otrajā nonāks tā numurs masīvā (indekss), bet trešajā - pats masīvs.
Sintakse
let jaunaisMasivs = masivs.filter(function(elements, indekss, masivs) {
kods
return true vai false
});
Piemērs
Atfiltrēsim masīvu, atstājot tajā tikai pozitīvus skaitļus:
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);
Koda izpildes rezultāts:
[5, 1, 1, 3, 4]
Piemērs
Saīsināsim kodu, izmantojot bultfunkciju:
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);
Koda izpildes rezultāts:
[5, 1, 1, 3, 4]
Piemērs
Saīsināsim kodu, izmantojot loģisko operāciju saīsinājumu:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Koda izpildes rezultāts:
[5, 1, 1, 3, 4]
Piemērs
Saīsināsim kodu, izmantojot bultfunkciju īpatnības:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Koda izpildes rezultāts:
[5, 1, 1, 3, 4]
Piemērs
Ja nepieciešams, trešajā parametrā var padot pašu masīvu:
let res = arr.filter(function(elem, index, arr) {
šeit būs pieejams masīvs arr
});