Array | NN 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 | ||||||||||||
|
||||||||||||
Méthodes | ||||||||||||
|
||||||||||||
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]; |
constructor | NN 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. |
length | NN 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. |
prototype | NN 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 | |
|
|
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 | |
|
|
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 | |
|
|
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 | |
|
|
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) |
||||||||
|
||||||||
Paramètres | ||||||||
|
||||||||
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 | |
|
|
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 | |
|
|
Valeur renvoyée | |
Nombre entier. |