ArrayNN 3 IE 4 ECMA 1

Un tableau est une collection ordonnée d'une ou plusieurs données. Les entrées de tableau JavaScript peuvent être de tout type, le panachage des types de données dans un même tableau étant possible. Un index est affecté à chaque entrée de tableau. Par défaut, l'index est un nombre entier à base zéro (l'index de la première entrée est zéro). Une valeur d´index peut aussi être une chaîne, mais l´index de chaîne se comporte comme le nom de propriété d´un objet de tableau et n´influence pas les index numériques (c´est pour cela que les entrées d´index de chaînes ne peuvent pas être recherchées par itération par le biais de la propriété length du tableau, mais peuvent l´être par le biais d´une boucle for-in). Des ensembles d´éléments d´index de nombres entiers et d´index de chaînes peuvent coexister dans le même objet de tableau.

 

Pour accéder à une entrée de tableau, vous devez spécifier le nom du tableau et l'index entre crochets:

cars[0]
cars["Ford"]
 

Vous pouvez aussi créer un tableau de tableaux pour simuler des tableaux multidimensionnels. Une référence à un élément dans un tableau à deux dimensions utilise une syntaxe similaire à ce qui suit:

myArray[x][y]
 

Le nombre d'entrées d'un tableau JavaScript (sa longueur) peut varier dans le temps. Ainsi, vous n´avez pas à initialiser un tableau vide par une taille spécifique (et cela ne présente aucun avantage particulier). Pour ajouter une entrée à un tableau de longueur indéterminée, affectez la valeur à la prochaine valeur d'index du tableau:

cars[cars.length] = "Bentley";
 

Une technique de création de tableau raccourcie est disponible à partir de Microsoft Internet Explorer 4 et de Navigator 4, en utilisant des crochets pour contenir les valeurs dans la notation littérale.

 
Propriétés
 
constructorlongueurprototype
 
Méthodes
 
concat()join()pop()
push()reverse()shift()
slice()sort()splice()
toLocaleString()toString()unshift()
 
Création d'un tableau
 
var myArray = new Array();
var myArray = new Array(sizeInteger);
var myArray = new Array(element0, element1, ..., elementN);
var myArray = [element0, element1, ..., elementN];
constructorNN 4 IE 4 ECMA 1

Lecture/écriture

Il s´agit d´une référence à la fonction qui a créé l´instance d´un objet Array: la fonction constructeur Array() d´origine dans les navigateurs.

 
Exemple
 
if (myVar.constructor == Array) {
    // process native string
}
 
Valeur

Référence de l´objet de fonction.

lengthNN 3 IE 4 ECMA 1

Lecture/écriture

Fournit le nombre d'entrées indexées numériquement figurant dans le tableau. Si la fonction constructeur utilisée pour créer le tableau spécifie une longueur préliminaire, la propriété length reflète celle-ci, même si les données n'occupent pas tous les emplacements.

 
Exemple
 
for (var i = 0; i < myArray.length; i++) {
    ...
}
 
Valeur

Nombre entier.

prototypeNN 3 IE 4 ECMA 1

Lecture/écriture

Propriété de l'objet Array statique. Utilisez la propriété prototype pour affecter de nouvelles propriétés et méthodes aux prochaines instances de tableaux créées dans le document considéré. Par exemple, la fonction suivante crée une liste d'éléments séparés par des retours à la ligne, dans un tableau en ordre inverse:

function formatAsList( ) {
    var output = "";
    for (var i = this.length - 1; i>= 0; i--) {
        output += this[i] + "\n";
    }
    alert(output);
} 
 

Pour donner cette capacité à un tableau, affectez cette référence de fonction à une propriété prototype, dont vous voulez utiliser le nom comme méthode pour appeler cette fonction:

Array.prototype.showReverseList = formatAsList;
 

Si un script crée un tableau au stade

var stooges = new Array("Moe", "Larry", "Curly", "Shemp");
 

ce nouveau tableau dispose de la méthode showReverseList(). Vous pouvez invoquer cette méthode comme suit:

stooges.showReverseList( );
 

Vous pouvez ajouter des propriétés de la même façon. Ces propriétés vous permettent de joindre des informations sur le tableau (par exemple, sa date de création) sans modifier la suite ordonnée de ses données. Lors du chargement d'un nouveau document dans une fenêtre ou un cadre, l'objet Array statique est réactualisé.

 
Exemple
 
Array.prototype.created = "";
 
Valeur

N´importe quelle donnée, y compris des références à des fonctions.

concat()NN 4 IE 4 ECMA 3

concat(item1[, item2[, ...itemN]])

Renvoie un tableau combinant l'objet de tableau considéré avec un ou plusieurs objets de tableau (ou autres valeurs) spécifiés comme paramètres de la méthode:

var combinedArray = myArray1.concat(myArray2, someValue);
 

Aucun des tableaux originaux n'est modifié pendant cette opération.

 
Paramètres
 
  • Une valeur JavaScript quelconque, y compris un autre tableau.
 
Valeur renvoyée

Objet Array.

join()NN 3 IE 4 ECMA 1

join(["delimiterString"])

Renvoie une chaîne comprenant une liste d'éléments (sous forme de chaînes) contenus dans un tableau. Le (ou les) caractère(s) séparateur(s) sont définis par le paramètre de la méthode. Remarque: Les éléments d´un tableau ne sont que les éléments accessibles par le biais d´un index de nombres entiers. Les éléments référencés par le biais de valeurs d´index de chaînes sont traités comme des propriétés de l´objet de tableau et sont donc indépendantes des valeurs d´index de nombres entiers (les deux ensembles peuvent coexister dans un même tableau sans conflit aucun). La méthode join() ne fonctionne qu´avec les éléments d´index de nombres entiers.

 
Paramètres
 
  • Toute chaîne de caractères. Les caractères non alphanumériques doivent utiliser leurs équivalents codés sous forme d'adresse URL (%0D pour un retour chariot). La chaîne de délimitation par défaut est une virgule.
 
Valeur renvoyée

Chaîne.

pop()NN 4 IE 5.5(Win) ECMA 2

Renvoie la valeur du dernier élément d'un tableau, puis le supprime du tableau. La longueur du tableau décroît donc d'une unité.

 
Paramètres

Aucune.

 
Valeur renvoyée

Toute valeur JavaScript.

push()NN 4 IE 5.5(Win) ECMA 2

push(item1[, item2[, ...itemN]])

Ajoute un ou plusieurs éléments à la fin d'un tableau. La longueur du tableau augmente donc d'une unité.

 
Paramètres
 
  • Liste d´une ou plusieurs valeurs JavaScript, séparées par des virgules, y compris les références d´objets.
 
Valeur renvoyée

Valeur insérée dans le tableau.

reverse()NN 3 IE 4 ECMA 1

Inverse l'ordre des éléments dans le tableau, puis renvoie une copie de ce dernier dans le nouvel ordre. Non seulement la méthode reverse() réorganise les valeurs dans le tableau, mais elle renvoie également une copie du tableau inversé.

 
Paramètres

Aucune.

 
Valeur renvoyée

Objet Array.

shift()NN 4 IE 5.5(Win) ECMA 2

Renvoie la valeur du premier élément d'un tableau, puis le supprime du tableau. La longueur du tableau décroît donc d'une unité.

 
Paramètres

Aucune.

 
Valeur renvoyée

Toute valeur JavaScript.

slice()NN 4 IE 4 ECMA 2

slice([, ])

Renvoie un tableau qui représente un sous-ensemble d'éléments contigus du tableau principal. Les paramètres déterminent l'endroit où la sélection commence et se termine.

 
Paramètres
 
  • Nombre entier à base zéro correspondant au premier élément du sous-ensemble du tableau considéré.
  • Nombre entier à base zéro facultatif correspondant au dernier élément du sous-ensemble du tableau considéré. Si ce nombre n'est pas défini, la sélection s'étend de l'emplacement défini par startIndex jusqu'à la fin du tableau.
 
Valeur renvoyée

Objet Array.

sort()NN 3 IE 4 ECMA 1

sort([compareFunction])

Trie les valeurs du tableau, soit selon la valeur ASCII des versions de chaîne de chaque entrée du tableau, soit selon une fonction de comparaison de votre propre cru. La méthode sort() invoque à plusieurs reprises la fonction de comparaison, en passant deux valeurs du tableau. La fonction de comparaison doit renvoyer un nombre entier, interprété par la fonction sort() comme suit:

 

La fonction de comparaison suivante trie les valeurs d'un tableau par ordre numérique (et non dans l'ordre des caractères ASCII):

 

L'instruction pour trier un tableau à l'aide de cette fonction est la suivante:

 

La méthode sort() envoie toutes les valeurs, par deux, à la fonction doCompare(), en les triant par ordre de taille décroissant (comme un tri de remontée).

function doCompare(a, b) {
    return a - b
}
 

Non seulement la méthode sort() réorganise les valeurs dans le tableau, mais elle renvoie également une copie du tableau trié.

myArray.sort(doCompare)
 
ValeurSignification
<0La deuxième valeur transmise doit être triée après la première.
0L'ordre de tri des deux valeurs ne doit pas changer.
>0La première valeur transmise doit être triée après la deuxième.
 
Paramètres
 
  • Référence à une fonction qui reçoit deux paramètres et renvoie un nombre entier.
 
Valeur renvoyée

Objet Array, trié selon des critères de tri.

splice()NN 4 IE 5.5(Win) ECMA 2

splice(startIndex, deleteCount[, item1[, item2[, ...itemN]]])

Supprime un ou plusieurs éléments contigus dans le tableau et, facultativement, insère de nouveaux éléments à la place. La longueur du tableau est modifiée en conséquence.

 
Paramètres
 
  • Nombre entier à base zéro correspondant au premier élément du sous-ensemble du tableau considéré.
  • Un nombre entier indiquant combien d´éléments doivent être supprimés du tableau à partir de la position startIndex.
  • Liste de valeurs JavaScript séparées par des virgules à insérer dans le tableau à la place des éléments supprimés. Le nombre d´éléments n´a pas à être égal à deleteCount.
 
Valeur renvoyée

Objet Array contenant des éléments supprimés.

toLocaleString()NN 6 IE 5.5(Win) ECMA 2

Renvoie une chaîne de valeurs séparées par des virgules, théoriquement dans un format adapté au langage et aux habitudes du langage par défaut du navigateur. Les détails d´implémentation varient selon le type de données et le navigateur. IE 5.5 et versions ultérieures convertissent les nombres de tout type en chaînes avec deux chiffres à droite de la décimale, mais déclenchent une erreur pour les références d´objets. Netscape 6 conserve les nombres entiers dans leur format d´origine et affichent les références d´objets sous la forme [object objectType]. Les normes ECMA laissent ces interprétations à la discrétion des développeurs du navigateur.

 
Paramètres

Aucune.

 
Valeur renvoyée

Chaîne délimitée par des virgules.

toString()NN 3 IE 4 ECMA 1

Renvoie une chaîne de valeurs séparées par des virgules, identique à l´utilisation de la méthode mimeType avec un paramètre de virgule. Toutes les valeurs sont converties à un équivalent sous forme de chaîne, y compris les objets ([object] dans IE pour Windows; [object objectType] dans IE 5 pour Macintosh et Netscape 6).

 
Paramètres

Aucune.

 
Valeur renvoyée

Chaîne délimitée par des virgules.

unshift()NN 4 IE 5.5(Win) ECMA 2

unshift(item1[, item2[, ...itemN]])

Insère un ou plusieurs éléments au début d'un tableau. La longueur du tableau augmente du nombre d´éléments ajoutés et la méthode renvoie la nouvelle longueur.

 
Paramètres
 
  • Liste d´une ou plusieurs valeurs JavaScript séparées par des virgules.
 
Valeur renvoyée

Nombre entier.