Auteur: Ludovic PATEY

Publié le 15 février 2008

Modifié le: 14 septembre 2008

Page d'accueil

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

var tableau = new Array();

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 :

var tableau = [ ma_valeur1, ma_valeur2 ];

Accès / modification des variables

Pour accéder à la nième valeur du tableau, il suffit d’avoir recours à la syntaxe suivante :

// Accès à la 2e valeur du tableau
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/WDescription
lengthRRetourne le nombre d’éléments du tableau
prototypeR/WPrototype de la classe

Méthodes de la classe Array

MéthodeDescription
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 :

var tableau = new Array();

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 :

var tableau = [
[ 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 ).

Array.prototype.clone = function() {

       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] );

Commentaires

Auteur :

Message :