Metoden filter
Metoden filter giver mulighed for at filtrere
elementer i et array, så kun de elementer, der opfylder
en bestemt betingelse, beholdes.
Metoden modtager en funktion som parameter, som
vil blive udført for hvert element i arrayet.
Metoden returnerer et nyt array som resultat,
hvor kun de elementer, for hvilke den overførte funktion returnerer true, vil blive inkluderet.
Tre parametre kan overføres til funktionen. Hvis disse parametre er til stede (de er ikke obligatoriske), så vil den første automatisk modtage elementet i arrayet, den anden vil modtage dets nummer i arrayet (index), og den tredje - selve arrayet.
Syntaks
let nytArray = array.filter(function(element, index, array) {
kode
return true eller false
});
Eksempel
Lad os filtrere arrayet, så kun positive tal bliver tilbage:
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 af udførelsen af koden:
[5, 1, 1, 3, 4]
Eksempel
Lad os forkorte koden ved at bruge pilfunktioner:
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 af udførelsen af koden:
[5, 1, 1, 3, 4]
Eksempel
Lad os forkorte koden ved at bruge forkortelse af logiske operationer:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Resultatet af udførelsen af koden:
[5, 1, 1, 3, 4]
Eksempel
Lad os forkorte koden ved at udnytte egenskaberne ved pilfunktioner:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Resultatet af udførelsen af koden:
[5, 1, 1, 3, 4]
Eksempel
Hvis nødvendigt, kan selve arrayet overføres som den tredje parameter:
let res = arr.filter(function(elem, index, arr) {
arrayet arr vil være tilgængeligt her
});