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.
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.
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.
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.
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.
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.
<!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
- Avec
push, mets le thé après pain, lait et œufs, et lis à la fois le nombre rendu et l’indice 3. - Appelle
popune fois, lis le mot retiré et la nouvelle longueur, puis avecunshiftmets le thé devant et regarde l’indice 0 et l’indice 1. - Appelle
shiftune fois, lis le mot parti et le nouvel indice 0, puis faissplicedepuis l’indice 1 en supprimant une case et placeremoved[0]à côté de la longueur. - Sur la page,
pushdu 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 depushetpopmanquaient - Tu as pris la valeur de
poppour la nouvelle longueur - Tu attendais que
splicerende 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
pushetunshiftrendent la nouvelle longueur,popetshiftl’article partisplicerend 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
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 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