JavaScript/Les tableaux
Les tableaux (array en anglais) sont des tableurs virtuels où peuvent être stockées des centaines d'informations à la fois. À la base, un tableau n'est qu'une simple variable. Il existe deux sortes de tableaux :
- les tableaux à indices numériques ;
- les tableaux associatifs.
Les valeurs d'un tableau peuvent être de tout type (booléen, nombre, chaîne de caractères, array...). JavaScript propose l’objet Array avec plusieurs méthodes permettant de manipuler les tableaux sans problème.
Tableaux à indices numériques
[modifier | modifier le wikicode]Ce sont des tableaux où chaque valeur est associée à un indice (nombre entier positif).
Déclaration
[modifier | modifier le wikicode]Voici comment déclarer un tableau à indices numériques en JavaScript et lui donner des valeurs initiales :
var mon_tableau = new Array('Christophe', 'Sarah', 'Carole', 'Alex', 'Nicolas', 'Sandrine'); // première méthode
var mon_tableau = ['Christophe', 'Sarah', 'Carole', 'Alex', 'Nicolas', 'Sandrine']; // seconde méthode
Accès aux valeurs
[modifier | modifier le wikicode]Pour accéder aux valeurs d'un tableau à indices numériques, la seule possibilité est de passer par l'indice de chacune des valeurs contenues dans ce tableau. La numérotation des indices commence par 0 (zéro).
document.write(mon_tableau[0]); // Affiche "Christophe"
document.write(mon_tableau[4]); // Affiche "Nicolas"
Listage des valeurs
[modifier | modifier le wikicode]Pour lister l'intégralité du tableau, il nous faut utiliser une boucle. Il va nous être utile de connaître la "longueur" du tableau (le nombre d'indice qu’il possède). Pour cela, on fait appel à la méthode length de l’objet Array. Ainsi, on accède aux valeurs de notre tableau grâce à ses indices comme ceci :
for (var i = 0; i < mon_tableau.length; i++)
{
document.write(i+" => "+mon_tableau[i]); // On affiche chaque couples indice => valeur
}
Affection de valeurs
[modifier | modifier le wikicode]Pour remplir un tableau avec une seule valeur (13 par exemple), on utilise une boucle.
var a = 13;
var long_tableau = 10;
var mon_tableau = new Array();
for (var i = 0; i < long_tableau; i++)
{
mon_tableau[i] = a;
}
Il existe des tableaux de tableaux de tableau... (ce sont des tableaux multidimensionnels). Ainsi, ceci est tout à fait faisable :
var mon_tableau = new Array('Christophe', new Array('Sarah', 'Carole', 'Alex', 'Nicolas', 'Sandrine'));
document.write(mon_tableau[1][0]); // Affiche "Sarah"
Des outils pratiques
[modifier | modifier le wikicode]Même si nous n'avons pas encore vu comment marchaient les fonctions en JavaScript; il est à savoir que celui-ci met à disposition des fonctions pour la gestion des tableaux. En voici la liste des principales :
concat
(Tableau1, Tableau2[, Tableau3, ...])
: cette méthode permet de concaténer (coller) plusieurs tableaux pour n'en former plus qu'un seul.join
(Tableau)
ouTableau.
join()
ouTableau.
toString
()
: renvoie tous les éléments (valeurs) de Tableau sous forme d'une chaîne de caractères.Tableau.
toLocaleString
()
: convertit un tableau en caractères.pop
(Tableau)
ouTableau.pop()
: supprime le dernier élément de Tableau après avoir retourné sa valeur.Tableau.
shift
()
: supprime le premier élément de Tableau après avoir retourné sa valeur.Tableau.
unshift
(valeur1[, valeur2, ...])
: permet d'ajouter des éléments au début de Tableau.Tableau.
push
(valeur1[, valeur2, ...])
: permet d'ajouter des éléments à la fin de Tableau.Tableau.
sort
()
: permet de trier tous les éléments de Tableau.Tableau.
reverse
()
: inverse l’ordre des éléments de Tableau.Tableau.
splice
(début, fin, valeur)
: écrase les valeurs des éléments dans Tableau dont l'indice est compris entre début et fin.Tableau.
slice
(début, fin)
: retourne les éléments dont l'indice est compris entre fin et début.
Objets
[modifier | modifier le wikicode]Les objets, omniprésents dans le JavaScript, peuvent être créés afin d'obtenir l'équivalent d'un tableau associatif, c'est-à-dire lorsque chacune de ses valeurs est associée à un nom.
Déclaration
[modifier | modifier le wikicode]Pour créer un objet, on peut utiliser les deux syntaxes :
var mon_objet = new Object();
// ou :
var mon_objet = {};
Pour attacher le nom à sa valeur, on utilise le signe mathématique égal comme ceci :
mon_objet['prenom_0'] = 'Christophe';
mon_objet['prenom_1'] = 'Sarah';
mon_objet['prenom_2'] = 'Carole';
mon_objet['prenom_3'] = 'Alex';
mon_objet['prenom_4'] = 'Nicolas';
mon_objet['prenom_5'] = 'Sandrine';
Ou on peut les attacher à la création de l’objet :
var mon_objet = {
"prenom_0": 'Christophe',
'prenom_1': 'Sarah',
'prenom_2': 'Carole'
};
Accès aux valeurs
[modifier | modifier le wikicode]Comme précédemment sauf qu'on utilise le nom associé à la variable au lieu de son indice :
document.write(mon_objet['prenom_3']); // Affiche "Alex"
// Ou bien, si la clé respecte la règle concernant la nomination des variables :
document.write(mon_objet.prenom_1); // Affiche "Sarah"
Listage des valeurs
[modifier | modifier le wikicode]Pour lister les valeurs de l’objet mon_objet ci-dessus, on procède ainsi :
for (var nom_indice in mon_objet){
document.write(mon_objet[nom_indice]);
}
En effet, la boucle for(...in...) attribue à la variable nom_indice le nom de l'indice et passe au suivant à chaque itération. Il est à noter que cette méthode permet aussi de lister les noms d'indices si nécessaire.
Affectation de valeurs
[modifier | modifier le wikicode]Soit directement en utilisant le nom de l'indice:
mon_objet['prenom_3'] = "Alex"
// Ou comme précédemment :
mon_objet.prenom_3 = "Alex"
Soit via la boucle for(...in...) (ici remise à 0 de toutes les valeurs de l'objet)
for (var nom_indice in mon_objet){
mon_objet[nom_indice] = 0;
}
À présent, vous en savez assez sur la tableaux en JavaScript pour pouvoir continuer le cours tranquillement.