Metoden filter
Metoden filter lar deg filtrere
elementer i en array, og beholde kun de elementene
som oppfyller en bestemt betingelse.
Metoden tar imot en funksjon som parameter, som
vil kjøres for hvert element i arrayen.
Metoden returnerer en ny
array, som kun vil inneholde de elementene
som den overførte funksjonen returnerer true for.
Du kan sende tre parametere til funksjonen. Hvis disse parameterne er tilstede (de er ikke obligatoriske), vil den første automatisk motta elementet i arrayen, den andre vil motta dets nummer i arrayen (indeksen), og den tredje - selve arrayen.
Syntaks
let nyArray = array.filter(function(element, indeks, array) {
kode
return true eller false
});
Eksempel
La oss filtrere en array, og bare beholde positive tall:
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);
Resultatet av kjøring av koden:
[5, 1, 1, 3, 4]
Eksempel
La oss forkorte koden ved å bruke pilfunksjoner:
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);
Resultatet av kjøring av koden:
[5, 1, 1, 3, 4]
Eksempel
La oss forkorte koden ved å bruke forkortelse av logiske operatorer:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Resultatet av kjøring av koden:
[5, 1, 1, 3, 4]
Eksempel
La oss forkorte koden ved å bruke egenskapene til pilfunksjoner:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Resultatet av kjøring av koden:
[5, 1, 1, 3, 4]
Eksempel
Ved behov kan du i den tredje parameteren sende selve arrayen:
let res = arr.filter(function(elem, index, arr) {
her vil arrayen arr være tilgjengelig
});