Les tableaux de données se présentent
sous la forme de variables indexées, exemple n[0], n[1], n[2], les
tableaux javascript sont des instances de l'objet Array. Comme pour les autres
objets, les instances sont créées avec le mot clé new.
data = new Array()
Vous n'êtes pas obligé, mais vous pouvez, fixer une
dimension au tableau,
data = new Array(5)
Vous assignez une valeur à un élément du tableau de façon
classique,
data[6] = 101
Le numéro d'index est enclos entre des accolades droites.
Les éléments du tableau ne sont pas initialisés même si vous dimensionner le
tableau comme dans, data = new Array(5). Les éléments d'un tableau non
assignés à une valeur comme dans, data[6] = 101, sont à la valeur undefined.
La numérotation de l'index commence à 0, data[6], est donc
le 7eme élément du tableau data.
Exercice,
Dans la forme ci dessous changez la
valeur de l'index de data dans la boite alert, effectuez la forme.
Exercice,
créer un tableau de
10 éléments, (data), écrire une boucle for
qui initialise ces éléments à leur valeur d'index,
data[0] = 0, data[1] = 1, data[2] = 2, etc...
passer ces valeurs dans une variable message et éditer cette
dernière dans une boite alert de façon à voir, "0, 1, 2,......"
Faire un organigramme, Corrigé.
Ecrire le programme dans la forme ci-dessous, Corrigé. Explication
du formatage de la variable message.
Quand on crée un tableau on peut
assigner directement les valeurs,
data = new Array("Bonjour", primVar, 3.1416)
Nous aurons,
data[0] = "Bonjour"
data[1] = variable primVar
data[2] = 3.1416
Ceci n'empêche pas d'étendre le tableau
data[3] =
"Hello"
data[5] = 9.81
Dans ce cas data[4] serait à la valeur undefined.
Dans les créations de tableaux
suivantes la fixation des dimensions du tableau est purement indicative et ne
change rien au résultat.
L'objet création de tableau,
data = new Array(4) créé un tableau à une
dimension,
Chaque cube symbolise un élément du tableau
mais on peut redéfinir chaque élément,
(data[n]) d'un tableau comme un
autre tableau. Ainsi pour créer un tableau data à 2 dimensions, (4 x 4),
On définira un tableau à une dimension.
data = new Array(4)
Il faudra redéfinir chaque élément de ce tableau comme un
tableau de 4 éléments,
data[0] = new Array(4)
data[1] = new Array(4)
data[2] = new Array(4)
data[3] = new Array(4)
L'adressage d'un élément du tableau se fera par l'écriture
de deux index,
data[i][j],
data[0][0] = "Premier élément"
4 x 4
4 x 4 x 4
Ce nouveau tableau comporte 16 éléments,
si on redéfinissait chaque élément de ce tableau comme un tableau on
obtiendrait un tableau à trois dimensions,
data[0][0] = new Array(4)
Ce tableau serait de 4 x 4 x 4.
Exercice,
Créer un tableau à 2 dimensions 4 x
4, écrire dans chaque élément ses numéros d'index, exemple : dans data[1][2]
écrire 1,2
Créer un organigramme.
Voir un exemple ci-dessous
Le nombre d'éléments d'un tableau
est une propriétée de l'objet Array.
La
syntaxe pour un tableau nommé data est,
data.length
Si l'on a écrit,
data = new Array(10)
data.length sera égale à 10
Les éléments seront indexés de data[0]
à data[9]
En exécutant la forme ci-dessous vous verrez que si vous
n'assignez pas de dimension à un tableau quand vous le créez sa longueur est
de zéro.
Exercice,
donner un contenu à des éléments
du tableau, voyez comment évolue la longueur du tableau
Assignez une dimension au tableau à
la création, exemple data = new Array(100), vérifiez la longueur du tableau.
Ecrivez data[200] = 99, quel est le
nombre d'éléments du tableau? Corrigé.
A quelle valeur les éléments précédents l'index 200 sont-ils? Vérifiez, controle.
La longueur d'un tableau est donné soit par sa
dimension à la création, soit par le numéro d'index de l'élément le
plus élevé
La longueur d'un tableau est un élément souvent utilisé,
par exemple dans la premiére forme
de cette page, pour remplir un tableau avec ses valeurs d'index nous écrivions,
//Rempli le message
for(i=1; i<10; i++){
message += ", " + data[i]
}
Nous aurions pu écrire,
for(i=1; i<data.length; i++){
message += ", " + data[i]
}
Ce qui est souvent plus pratique, en particulier quand on
veut énumérer une suite d'éléments dont on ne connait pas forcément la
longueur.
Supposons que vous vendiez des pizzas et des sandwiches, vous
voulez ranger tout celà dans une minibase de données. Vous avez 5 types de
pizzas et 3 de sandwiches.
Commençons par créer les deux produits, (pizzas et
sandwiches),
produits = new Array(2)
Créons dans ces produits les emplacements des types,
produits[0] = new Array(5) //Pizzas
produits[1] = new Array(3) //Sandwiches
Régle
: pour afficher la longueur de tableaux multidimensionels vous écrivez
l'élément de tableau de la même façon que pour la création.
Longueur des Produits
produits.length
Longueur des types de Pizzas
produits[0].length
Longueur des types de Sandwiches
produits[1].length
Vous trouverez dans la forme ci-dessous un exemple.
Dans l'exemple ci-dessus nous trouvons des écritures telles
que,
produits[0] = new Array(5)
Ce qui est assez peu explicite. Si vous vous rappeler la
façon de créer des tableaux à l'aide d'expression littéralles, (chapitre
2), on peut clarifier l'écriture, par exemple,
produits = new Array("Pizzas",
"Sandwiches")
Ce qui permet d'écrire pour définir les types de produits,
produits["Pizzas"] = new Array(5)
produits["Sandwiches"] = new Array(3)
Exercice,
modifiez de cette façon le programme dans la forme ci-dessus, Corrigé.
Ce qui serait intéressant dans ces tableaux, ce serait
évidemment d'y ranger des renseignements, par exemple le nom, le prix et la
quantité en stock de chaque produits.
Exemple pour les pizzas,
Margarita, 52 F, 0
Calzone, 45 F, 7
etc...
Exercice, rajouter dans la forme ci-dessus, l'affectation des
paramètres ci-dessus, modifiez le message alert(), pour éditer les paramètre
d'une pizza. Piste. Piste
suite.
Si vous aves des problémes pour éditer les paramètres dans
la boite alert(), visualisez Piste suite ci-dessus. Corrigé Visualisez
une présentation graphique du problème
Vous pouvez définir d'autres types de pizza et/ou de
sandwichs. Visualisez les.