Filtrering af Arrays med Filter()-Metoden
Dette kapitel går i dybden med detaljerne i filter()-metoden, forklarer dens syntaks, anvendelser og hvordan den muliggør oprettelsen af raffinerede arrays.
filter()
filter()-metoden udvælger elementer, der opfylder en bestemt betingelse. Lad os gennemgå syntaksen:
array.filter((element, index, array) => {
// Callback body
});
Vigtige punkter om filter()-metoden:
- Den ændrer ikke det oprindelige array;
- Den gennemløber det oprindelige array element for element;
- Den returnerer et nyt array;
- Elementer tilføjes til det nye array, hvis de opfylder callback-betingelsen;
- Hvis callback returnerer true, inkluderes elementet; ellers udelades det.
Eksempler
Den sande styrke ved filter()-metoden bliver tydelig, når den anvendes i forskellige scenarier. Lad os udforske nogle illustrative eksempler:
Eksempel 1: Filtrering af ulige tal
I dette eksempel opretter filter()-metoden et array (oddNumbers), der kun indeholder ulige tal fra det oprindelige array.
123456const numbers = [15, 22, 37, 41, 58, 67, 72]; const oddNumbers = numbers.filter((number) => { return number % 2 !== 0; }); console.log(oddNumbers); // Output: 15, 37, 41, 67
Eksempel 2: Filtrering af produkter efter prisklasse
Her anvendes filter()-metoden til at udtrække produkter med priser under $500, hvilket skaber et nyt array (affordableProducts).
const products = [
{ name: "Keyboard", price: 220 },
{ name: "Smartphone", price: 800 },
{ name: "Tablet", price: 500 },
{ name: "Headphones", price: 120 },
{ name: "Camera", price: 1500 },
];
const affordableProducts = products.filter((product) => product.price < 500);
console.log(affordableProducts); // Output: [ { name: "Keyboard", price: 220 }, { name: "Headphones", price: 120 } ]
1. Hvad gør filter()-metoden?
2. Hvad er et nøgletræk ved filter()-metoden?
3. I eksemplet nedenfor, hvilken betingelse skal anvendes, så arrayet numbersGreaterThan20 indeholder tal større end 20?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 2.27
Filtrering af Arrays med Filter()-Metoden
Stryg for at vise menuen
Dette kapitel går i dybden med detaljerne i filter()-metoden, forklarer dens syntaks, anvendelser og hvordan den muliggør oprettelsen af raffinerede arrays.
filter()
filter()-metoden udvælger elementer, der opfylder en bestemt betingelse. Lad os gennemgå syntaksen:
array.filter((element, index, array) => {
// Callback body
});
Vigtige punkter om filter()-metoden:
- Den ændrer ikke det oprindelige array;
- Den gennemløber det oprindelige array element for element;
- Den returnerer et nyt array;
- Elementer tilføjes til det nye array, hvis de opfylder callback-betingelsen;
- Hvis callback returnerer true, inkluderes elementet; ellers udelades det.
Eksempler
Den sande styrke ved filter()-metoden bliver tydelig, når den anvendes i forskellige scenarier. Lad os udforske nogle illustrative eksempler:
Eksempel 1: Filtrering af ulige tal
I dette eksempel opretter filter()-metoden et array (oddNumbers), der kun indeholder ulige tal fra det oprindelige array.
123456const numbers = [15, 22, 37, 41, 58, 67, 72]; const oddNumbers = numbers.filter((number) => { return number % 2 !== 0; }); console.log(oddNumbers); // Output: 15, 37, 41, 67
Eksempel 2: Filtrering af produkter efter prisklasse
Her anvendes filter()-metoden til at udtrække produkter med priser under $500, hvilket skaber et nyt array (affordableProducts).
const products = [
{ name: "Keyboard", price: 220 },
{ name: "Smartphone", price: 800 },
{ name: "Tablet", price: 500 },
{ name: "Headphones", price: 120 },
{ name: "Camera", price: 1500 },
];
const affordableProducts = products.filter((product) => product.price < 500);
console.log(affordableProducts); // Output: [ { name: "Keyboard", price: 220 }, { name: "Headphones", price: 120 } ]
1. Hvad gør filter()-metoden?
2. Hvad er et nøgletræk ved filter()-metoden?
3. I eksemplet nedenfor, hvilken betingelse skal anvendes, så arrayet numbersGreaterThan20 indeholder tal større end 20?
Tak for dine kommentarer!