JavaScript · Leçon 4

Tableaux & objets

Pour ranger plusieurs valeurs : les tableaux (des listes ordonnées) et les objets (des fiches avec des champs nommés).

Les tableaux

Une liste entre crochets. Chaque élément a un indice, qui commence à 0 !

Avec const jours = ["lun", "mar", "mer"], que vaut jours[1] ?

  1. "lun"
  2. "mar"
  3. undefined

Les indices commencent à 0 : jours[0] = "lun", jours[1] = "mar".

Parcourir un tableau

Les super-pouvoirs : map, filter, find

MéthodeRenvoie
map(fn)un nouveau tableau, chaque élément transformé
filter(fn)un nouveau tableau avec les éléments qui passent le test
find(fn)le premier élément qui passe le test
reduce(fn, départ)une seule valeur (somme, total…)

Les objets

Un objet regroupe des informations sous forme clé: valeur, comme une fiche.

Le combo : un tableau d'objets

C'est la forme de données la plus courante sur le Web (liste de produits, de messages, d'utilisateurs…).

À toi de jouer

La moyenne

Écris moyenne(notes) qui renvoie la moyenne d'un tableau de nombres.

IndiceMoyenne = somme des notes ÷ nombre de notes.
IndiceAdditionne les notes avec une boucle :
let total = 0;
for (const note of notes) {
  total += note;
}
IndiceLe nombre de notes, c’est notes.length : return total / notes.length;

Seulement les majeurs

Crée nomsAdultes : un tableau contenant uniquement les prénoms des personnes de 18 ans ou plus. Utilise filter puis map.

IndiceDeux étapes : garder les majeurs (filter), puis ne garder que leur prénom (map).
Indicepersonnes.filter(p => p.age >= 18) renvoie les objets des majeurs (18 ans compris, d’où le >=).
IndiceEnchaîne les deux : personnes.filter(…).map(p => p.prenom)

Le total du panier

Écris totalPanier(panier) qui renvoie le prix total (prix × quantité de chaque article).

IndiceChaque ligne du panier coûte prix × quantite.
IndicePars de let total = 0; puis parcours le panier avec for (const ligne of panier) { … }.
IndiceDans la boucle : total += ligne.prix * ligne.quantite;, et après la boucle : return total;

La fiche livre

  • Crée un objet livre avec titre, auteur et annee (un nombre).
  • Écris description(livre) qui renvoie par exemple "Le Petit Prince, de Saint-Exupéry (1943)".
IndiceUn objet : { cle: valeur, cle2: valeur2 }. Le texte entre guillemets, l’année sans guillemets.
IndiceDans la fonction, lis les propriétés avec un point : livre.titre, livre.auteur, livre.annee.
IndiceAttention à la virgule et aux parenthèses : return `${livre.titre}, de ${livre.auteur} (${livre.annee})`;

À retenir