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
let nyArray = array.filter(function(element, index, array) {
kod
return true eller false
});
Exempel
Låt oss filtrera arrayen och endast behålla positiva tal:
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 exekveringen av koden:
[5, 1, 1, 3, 4]
Exempel
Låt oss förkorta koden genom att använda 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 av exekveringen av koden:
[5, 1, 1, 3, 4]
Exempel
Låt oss förkorta koden genom att använda förkortning av logiska 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 exekveringen av koden:
[5, 1, 1, 3, 4]
Exempel
Låt oss förkorta koden genom att använda egenskaperna hos pilfunktioner:
let 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:
[5, 1, 1, 3, 4]
Exempel
Vid behov kan själva arrayen skickas som den tredje parametern:
let res = arr.filter(function(elem, index, arr) {
här kommer arrayen arr att vara tillgänglig
});