Ces fonctions ressemblent à celles utilisées avec les piles ou les files (c'est un sujet qui sera abordé en TD, rassurez-vous

).
pop()
Description
Retire le dernier élément du tableau, et renvoie sa valeur.
Exemple
Code : JavaScript1
2 | var t = new Array(2,4,6,8);
alert(t.pop());
|
Ce code affichera
8.
À la fin,
t contient
2,4,6.
push(x)
Description
Ajoute l'élément
x à la fin du tableau (en quelque sorte le contraire de
pop()).
Remarque
Accepte un nombre quelconque de paramètres : ils sont tous ajoutés à la fin du tableau.
Dans les dernières version de JS, c'est la nouvelle taille du tableau qui est renvoyée (il n'est cependant pas d'usage de récupérer la taille d'un tableau lorsqu'on travaille avec cette fonction).
Exemple
Code : JavaScript1
2 | var t = new Array(2,4,6);
t.push(8);
|
À la fin,
t contient
2,4,6,8.
shift()
Description
Retire le premier élément du tableau, et renvoie sa valeur.
Les autres éléments sont décalés vers le haut pour "combler le trou".
Remarque
Le décalage des éléments prend du temps lorsque le tableau est long : cette fonction n'est donc pas bien adaptée pour utiliser un tableau comme une pile ou une file.
Exemple
Code : JavaScript1
2 | var t = new Array(2,4,6,8);
alert(t.shift());
|
Ce code affichera
2.
À la fin,
t contient
4,6,8.
unshift(x)
Description
Ajoute l'élément
x au début du tableau (en quelque sorte le contraire de
shift()).
Les éléments sont décalés vers le bas.
Remarque
Accepte un nombre quelconque de paramètres : ils sont tous ajoutés au début du tableau.
La nouvelle taille du tableau est renvoyée (il n'est cependant pas d'usage de récupérer la taille d'un tableau lorsqu'on travaille avec cette fonction).
Le décalage des éléments prend du temps lorsque le tableau est long : cette fonction n'est donc pas bien adaptée pour utiliser un tableau comme une pile ou une file.
Exemple
Code : JavaScript1
2 | var t = new Array(2,4,6);
t.unshift(0);
|
À la fin,
t contient
0,2,4,6.
Piles et files ?
En conclusion de cette sous-partie : l'utilisation des tableaux comme files est déconseillée (elle nécessite d'utiliser
shift ou
unshift, qui ne sont pas des fonctions très adaptées).
Cependant, une utilisation comme pile est tout à fait possible, grâce à
t.push(x) pour empiler,
t.pop() pour dépiler, et la condition
t.length == 0 pour savoir si la pile est vide ou non.