Metoda filter
Metoda filter permite filtrarea
elementelor array-ului, păstrând doar cele care
îndeplinesc o anumită condiție.
Metoda primește ca parametru o funcție, care
se va executa pentru fiecare element al array-ului.
Metoda returnează un nou
array, în care vor intra doar acele elemente
pentru care funcția transmisă returnează true.
În funcție pot fi transmise trei parametri. Dacă acești parametri există (nu sunt obligatorii), atunci în primul va intra automat elementul array-ului, în al doilea va intra numărul său în array (indexul), iar în al treilea - array-ul însuși.
Sintaxă
let array nou = array.filter(function(element, index, array) {
cod
return true sau false
});
Exemplu
Să filtrăm array-ul, păstrând în el doar numerele pozitive:
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);
Rezultatul executării codului:
[5, 1, 1, 3, 4]
Exemplu
Să scurtăm codul, utilizând funcția săgeată:
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);
Rezultatul executării codului:
[5, 1, 1, 3, 4]
Exemplu
Să scurtăm codul, utilizând scurtările operațiilor logice:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Rezultatul executării codului:
[5, 1, 1, 3, 4]
Exemplu
Să scurtăm codul, utilizând particularitățile funcțiilor săgeată:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Rezultatul executării codului:
[5, 1, 1, 3, 4]
Exemplu
La nevoie, în al treilea parametru poate fi transmis array-ul însuși:
let res = arr.filter(function(elem, index, arr) {
aici va fi accesibil array-ul arr
});