Chargement...

Méthodes des tableaux

Sur la page des couleurs, réécrire une case ne touchait pas au nombre. Ici tu as un panier, avec du pain, du lait et des œufs. Un appel a le droit d’augmenter ou de diminuer les articles.

Le nombre a le droit de bouger

Ces cinq appels modifient la liste que tu tiens déjà, pas un texte neuf comme les outils des chaînes, ni une fonction que tu aurais rangée toi-même sur un objet. push, pop, unshift, shift et splice sont des outils prêts de la liste.

Cinq appels sur une fiche

Garde la fiche à côté des exemples pour ne pas remonter à chaque fois. Souvent la valeur qui revient n’est pas le panier. C’est un nombre, l’article parti, ou une petite liste.

📊 Cinq appels sur la liste

Appel Où il agit Ce qui revient length
push la fin la nouvelle longueur grandit du nombre d’articles passés
pop la fin l’article retiré baisse d’un
unshift le devant la nouvelle longueur grandit du nombre d’articles passés
shift le devant l’article retiré baisse d’un
splice un indice que tu choisis une petite liste des articles retirés baisse du nombre de suppressions

Les appels qui ajoutent rendent la nouvelle longueur sous forme de nombre, et ceux qui prennent à un bout rendent l’article lui-même. splice rend une petite liste même quand une seule case part, et le mot se trouve à l’indice 0 de ce résultat.

Le thé à la fin

Le panier commence par pain, lait et œufs. push place le thé après les œufs. Le nombre que tu entends tout de suite, c’est combien de cases existent maintenant.

Mettre le thé à la fin

javascript
let cart = ["bread", "milk", "eggs"];
let n = cart.push("tea");
console.log(n);
console.log(cart[3]);
console.log(cart.length);

n vaut 4, donc la nouvelle longueur, pas le mot tea. L’indice 3 tient le thé, et length vaut aussi 4 parce qu’un seul article a été ajouté à la fin. Deux arguments feraient deux cases de plus. Ici tu n’en passes qu’un, pour que le nombre reste lisible.

Prendre le dernier article

javascript
let cart = ["bread", "milk", "eggs"];
let gone = cart.pop();
console.log(gone);
console.log(cart.length);

Le dernier article part

pop soulève les œufs de la fin et te rend cette chaîne, et length devient 2. Dans le panier il reste le pain, puis le lait. Cet appel ne rend pas la nouvelle longueur. Un panier vide rendrait undefined, et les exemples de cette page ne partent jamais de vide.

Mettre le thé devant

javascript
let cart = ["bread", "milk", "eggs"];
let n = cart.unshift("tea");
console.log(n);
console.log(cart[0]);
console.log(cart[1]);

Le devant est neuf

unshift rend aussi 4, parce que c’est la nouvelle longueur, et l’indice 0 est maintenant le thé. Le pain glisse à l’indice 1 sans qu’une case soit réécrite. Chaque ancien article fait un pas vers la fin.

Prendre l’article de devant

javascript
let cart = ["bread", "milk", "eggs"];
let gone = cart.shift();
console.log(gone);
console.log(cart[0]);
console.log(cart.length);

Le devant se vide

shift rend le pain, c’est-à-dire l’article parti, pas une longueur. Ensuite l’indice 0 est le lait, et length vaut 2. Les œufs sont toujours derniers. Ils sont simplement à l’indice 1 maintenant.

Couper la case du milieu

javascript
let cart = ["bread", "milk", "eggs"];
let removed = cart.splice(1, 1);
console.log(removed[0]);
console.log(cart.length);
console.log(cart[1]);

Une case que tu as choisie

Le premier argument est l’indice de départ, le second dit combien de cases supprimer. Le lait part, et removed est une liste d’une case, donc removed[0] est le lait et l’appel lui-même n’est pas la chaîne lait. length devient 2 et l’indice 1 ce sont les œufs, parce que le pain est resté à 0 et les œufs ont fermé le trou. Si tu passes 0 comme nombre à supprimer, tu insères sans supprimer. Cette forme peut attendre.

La page imprime la nouvelle longueur

Ajoute le thé avec push. Écris ensuite length dans le paragraphe. La ligne doit être le nombre, pas la liste de courses.

Démo de page — longueur après push

html
<!DOCTYPE html>
<html>
<head>
<title>array-methods — page</title>
</head>
<body>
<p id="line">…</p>
<script>
let cart = ["bread", "milk", "eggs"];
cart.push("tea");
let box = document.getElementById("line");
box.textContent = cart.length;
</script>
</body>
</html>

Le paragraphe affiche 4. Remplace la chaîne poussée, du thé à la confiture, puis recharge ; la ligne reste 4, parce que tu ajoutes toujours un seul article. Le mot a changé, pas le nombre. Pain, lait et œufs restent devant ce que tu as mis avec push.

Essaie sur un panier neuf

  1. Avec push, mets le thé après pain, lait et œufs, et lis à la fois le nombre rendu et l’indice 3.
  2. Appelle pop une fois, lis le mot retiré et la nouvelle longueur, puis avec unshift mets le thé devant et regarde l’indice 0 et l’indice 1.
  3. Appelle shift une fois, lis le mot parti et le nouvel indice 0, puis fais splice depuis l’indice 1 en supprimant une case et place removed[0] à côté de la longueur.
  4. Sur la page, push du thé, recharge, lis la ligne, puis passe du thé à la confiture et recharge encore.

Où l’on perd des points

  • Tu voulais ajouter une case et tu as écrit cart[1] = "tea", ou les parenthèses de push et pop manquaient
  • Tu as pris la valeur de pop pour la nouvelle longueur
  • Tu attendais que splice rende la chaîne lait toute seule, pas une liste
  • Tu croyais que l’indice 0 restait le pain après unshift, ou tu as mélangé cette page avec un parcours de chaque article et une recherche par valeur

Ce qu’il faut garder

  • Ces appels modifient la même liste
  • push et unshift rendent la nouvelle longueur, pop et shift l’article parti
  • splice rend une petite liste des articles retirés
  • Le paragraphe peut montrer seulement la longueur après push
  • Ensuite tu parcours chaque article, et la recherche par valeur vient après

🧠 Testez Vos Connaissances

Prêt à Commencer

Testez Vos Connaissances

Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet

❓
8
Questions
🎯
70%
Pour Réussir
♾️
∞
Temps
🔄
∞
Tentatives

📝 Instructions

  • Lisez chaque question attentivement
  • Sélectionnez la meilleure réponse pour chaque question
  • Vous pouvez refaire le quiz autant de fois que vous le souhaitez
  • Votre progression sera affichée en haut