
La classe Array
Vous êtes ici : Accueil / Cours / Cours de Javascript / Progresser en Javascript
La classe Array est un élément central de Javascript : tous les tableaux sont des instances de cette classe. C’est la raison pour laquelle je ne considère pas le tableau comme un type, mais comme un objet.
Création d’un tableau
Il existe plusieurs méthodes pour instancier un tableau :
La première méthode et la plus utilisée se fait avec l’opérateur new
tableau[0] = ma_valeur1;
tableau[1] = ma_valeur2;
La syntaxe précédente est cependant assez lourde dès lors que vous voulez directement affecter des valeurs au tableau. La syntaxe suivante est équivalente :
Accès / modification des variables
Pour accéder à la nième valeur du tableau, il suffit d’avoir recours à la syntaxe suivante :
alert( tableau[1] );
On appelle la valeur se trouvant entre les crochets du tableau un index.
Attention : les index commences à 0. Pour accéder à la la nième valeur du tableau, il est prendre le nombre n-1.
Propriétés de la classe Array
| Propriété | R/W | Description |
|---|---|---|
| length | R | Retourne le nombre d’éléments du tableau |
| prototype | R/W | Prototype de la classe |
Méthodes de la classe Array
| Méthode | Description |
|---|---|
| Array concat( Array [, Array ...] ) | Retourne la concaténation des tableaux. |
| String join( [String delimiter = ’,’] ) | Concatène le tableau en interposant le délimiteur. Par défaut, celui-ci est une virgule. |
| mixed pop() | Supprime et retourne le dernier élément du tableau |
| mixed push( [mixed,..] ) | Empile des éléments sur le tableau et retourne la dernière valeur du tableau |
| Array reverse() | Inverse l’ordre des éléments du tableau et le retourne |
| mixed shift() | Supprime et retourne le premier élément du tableau |
| Array slice(int premierIndex [,int dernierIndex]) | Retourne une sous-partie du tableau entre le premier index et le dernier index exclus |
| Array splice(int premierIndex [, int nSuppressions, mixed element ... ] ) | Supprime nSuppressions ( par défaut la longueur du tableau ) à partir de premierIndex, puis insère à partir de cette position les éléments passés en paramètres. Retourne un tableau des éléments supprimés |
| Array sort() | Trie les éléments du tableau et le retourne |
| mixed unshift( [mixed, ...] ) | Ajoute des éléments en début de tableau et retourne son premier élément. |
| String toString() | Retourne une concaténation du tableau avec une virgule comme séparateur |
| Array valueOf() | Retourne le tableau |
Les tableaux multidimensionnels
En Javascript, les tableaux multidimensionnels sont tout simplement des tableaux de tableaux. On ne peut pas préciser le nombre de dimensions du tableau lors de son instanciation. Il est nécessaire de créer chaque sous-tableau séparément :
tableau[0] = new Array();
tableau[1] = new Array();
La syntaxe précédente est très lourde. La seconde est alors plus souvent utilisée :
[ 1, 2, 3 ],
[ 4, 5, 5 ],
[ 7, 8, 9 ]
];
alert( tableau[0][0] );
Etendre la classe Array
Comme nous l’avons vu dans la partie consacrée aux objets, il est possible d’étendre toute classe grâce à son prototype.
Voici un exemple qui rajoute la méthode clone() pour dupliquer le tableau existant ( en effet, les tableaux étant des objets, les variables ne contiennent que des références aux tableaux. Copier la contenu de la variable ne permet donc pas de copier le tableau ).
var tab2 = new Array();
// Pour chaque élément de ce tableau
for( i in this ) {
// Le copier dans le nouveau tableau
tab2[i] = this[i];
}
return tab2;
}
var a =[1,2,3];
var b = a.clone();
alert( b[1] );



