DébutantNon commencé
Exercice 6.6 · 8 min · 0 tentative
Filtrer un tableau d'objets
🎯 Objectif
Utiliser filter() pour sélectionner des objets qui respectent une condition sur leurs propriétés.
📖 Contexte
On peut filtrer un tableau d'objets en testant une de leurs propriétés :
const produits = [
{ nom: "Café", prix: 4.50 },
{ nom: "Thé", prix: 3.00 },
{ nom: "Chocolat", prix: 5.00 }
]
// Produits à moins de 4 CHF
const bonMarche = produits.filter(p => p.prix < 4)
// [{ nom: "Thé", prix: 3.00 }]
// Produits à 4 CHF ou plus
const chers = produits.filter(p => p.prix >= 4)
// [{ nom: "Café", prix: 4.50 }, { nom: "Chocolat", prix: 5.00 }]
Structure
const resultat = tableau.filter(objet => objet.propriete condition)
- objet : chaque élément du tableau (tu choisis le nom)
- objet.propriete : la valeur à tester
- condition : doit retourner
truepour garder l'objet
Important : filter() ne modifie pas le tableau original. Il retourne un nouveau tableau contenant uniquement les éléments qui passent le test. Il faut stocker le résultat dans une variable !
Autres exemples
const personnes = [
{ nom: "Alice", age: 25 },
{ nom: "Bob", age: 17 },
{ nom: "Clara", age: 32 }
]
// Personnes majeures
const majeurs = personnes.filter(p => p.age >= 18)
// [{ nom: "Alice", age: 25 }, { nom: "Clara", age: 32 }]
// Noms commençant par "A"
const avecA = personnes.filter(p => p.nom.startsWith("A"))
// [{ nom: "Alice", age: 25 }]
📝 Consigne
À partir du tableau d'élèves :
- Crée
reussis: élèves avec note >= 4 - Crée
echecs: élèves avec note < 4
Résultat attendu :
Réussis: [{ nom: "Alice", note: 5.5 }, { nom: "David", note: 4.0 }, { nom: "Clara", note: 6.0 }]
Échecs: [{ nom: "Bob", note: 3.5 }, { nom: "Emma", note: 3.0 }]
Objectifs
- Filtrer les notes >= 4
- Filtrer les notes < 4
- Alice dans les réussis
- Bob dans les échecs
Lis bien les instructions et lance-toi !
Indices (0/3)
Indice 1 verrouillé
Indice 2 verrouillé
Indice 3 verrouillé