Metoden filter
Metoden filter låter dig filtrera
element i en array och endast behålla de element
som uppfyller ett visst villkor.
Metoden tar en funktion som parameter, som
kommer att köras för varje element i arrayen.
Metoden returnerar en ny
array, som endast innehåller de element
för vilka den givna funktionen returnerar true.
Tre parametrar kan skickas till funktionen. Om dessa parametrar finns (de är inte obligatoriska), kommer den första automatiskt att få elementet i arrayen, den andra kommer att få dess nummer i arrayen (index), och den tredje - själva arrayen.
Syntax
javascriptlet nyArray = array.filter(function(element, index, array) {
kod
return true eller false
});
Exempel
Låt oss filtrera arrayen och endast behålla positiva tal:
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);
Resultatet av exekveringen av koden:
javascript[5, 1, 1, 3, 4]
Exempel
Låt oss förkorta koden genom att använda pilfunktioner:
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);
Resultatet av exekveringen av koden:
javascript[5, 1, 1, 3, 4]
Exempel
Låt oss förkorta koden genom att använda förkortning av logiska operatorer:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Resultatet av exekveringen av koden:
javascript[5, 1, 1, 3, 4]
Exempel
Låt oss förkorta koden genom att använda egenskaperna hos pilfunktioner:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Resultatet av exekveringen av koden:
javascript[5, 1, 1, 3, 4]
Exempel
Vid behov kan själva arrayen skickas som den tredje parametern:
javascriptlet res = arr.filter(function(elem, index, arr) {
här kommer arrayen arr att vara tillgänglig
});