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 true pour 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 :

  1. Crée reussis : élèves avec note >= 4
  2. 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é