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
modifierCe sont des tableaux où chaque valeur est associée à un indice (nombre entier positif).
Déclaration
modifierVoici 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
modifierPour 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
modifierPour 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
modifierPour 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
modifierMê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
modifierLes 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
modifierPour 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
modifierComme 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
modifierPour 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
modifierSoit 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.