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
javascriptlet 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:
javascriptlet 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:
javascript[5, 1, 1, 3, 4]
Piemērs
Saīsināsim kodu, izmantojot bultfunkciju:
javascriptlet 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:
javascript[5, 1, 1, 3, 4]
Piemērs
Saīsināsim kodu, izmantojot loģisko operāciju saīsinājumu:
javascriptlet 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:
javascript[5, 1, 1, 3, 4]
Piemērs
Saīsināsim kodu, izmantojot bultfunkciju īpatnības:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Koda izpildes rezultāts:
javascript[5, 1, 1, 3, 4]
Piemērs
Ja nepieciešams, trešajā parametrā var padot pašu masīvu:
javascriptlet res = arr.filter(function(elem, index, arr) {
šeit būs pieejams masīvs arr
});