Metod filter
Metod filter massiw elementlerini belli bir şert boýunça diňe gabat gelýän elementleri galdyryp, filtirlemäge mümkinçilik berýär.
Metod parametrinde her bir massiw elementi üçin ýerine ýetiriler funksiýany alyr.
Metod öz netijesi hökmünde täze massiw gaýtaryp berýär, ona diňe üpjün edilen funksiýanyň true gaýtarjak elementleri girer.
Funksiýa üç parametr üpjün edilip bilner. Eger bu parametrler bar bolsa (olara hökman däl), onda birinjisine awtomatiki massiw elementi düşer, ikinjisine onuň massiwdaki nomeri (indeksi) düşer, üçünjüsine bolsa massiw özi düşer.
Sintaksis
let täze massiw = massiw.filter(function(element, indeks, massiw) {
kod
return true ýa-da false
});
Mysal
Geliň massiwy filtirleýäli we onda diňe pozitiw sanlary galdyraly:
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);
Kodyň ýerine ýetiriliş netijesi:
[5, 1, 1, 3, 4]
Mysal
Kody ok funksiýasyndan peýdalanyp gysgaldyraly:
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);
Kodyň ýerine ýetiriliş netijesi:
[5, 1, 1, 3, 4]
Mysal
Kody mantiky amallaryny gysgaldyşyndan peýdalanyp gysgaldyraly:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Kodyň ýerine ýetiriliş netijesi:
[5, 1, 1, 3, 4]
Mysal
Kody ok funksiýalarynyň aýratynlyklaryndan peýdalanyp gysgaldyraly:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Kodyň ýerine ýetiriliş netijesi:
[5, 1, 1, 3, 4]
Mysal
Gerek bolsa, üçünji parametre massiw özüni üpjün edip bilersiňiz:
let res = arr.filter(function(elem, index, arr) {
şu ýerde massiw arr elýeterli bolar
});