Objectifs
- Etre capable de créer et gérer un tableau à plusieurs dimensions en JavaScript
Définitions
- JavaScript ne fournit pas le tableau multidimensionnel de manière native. Cependant, vous pouvez créer un tableau multidimensionnel en définissant un tableau d'éléments, où chaque élément est également un autre tableau.
Pour cette raison, nous pouvons dire qu'un tableau multidimensionnel JavaScript est un tableau de tableaux. La manière la plus simple de définir un tableau multidimensionnel consiste à utiliser la notation littérale du tableau.
Déclarer un tableau multidimensionnel en JavaScript
- Pour déclarer un tableau multidimensionnel vide, vous utilisez la même syntaxe que pour déclarer un tableau unidimensionnel:
var etudiants = [];
- L'exemple suivant définit un tableau à deux dimensions nommé etudiants:
var etudiants = [ ['Mohamed', 09], ['Salwa', 11], ['Nejib', 12], ['Rotafi', 11], ['Slah', 17] ];- Pour déclarer un tableau multidimensionnel vide, vous utilisez la même syntaxe que pour déclarer un tableau unidimensionnel:
- Dans le tableau etudiants, la première dimension représente les noms des étudiants et la seconde montre la note obtenue dans une matière pour chaque étudiants.
- Pour afficher le tableau étudiants dans la console, vous utilisez la méthode suivante
console.table(etudiants): - Ce qui suit illustre la sortie:
- Notez que la colonne (
index) est pour l'illustration qui indique les indices du tableau interne. Accéder à un élément du tableau multidimensionnel
- Pour accéder à un élément du tableau multidimensionnel, vous utilisez d'abord des crochets pour accéder à un élément du tableau externe qui renvoie un tableau interne; puis utilisez un autre crochet carré pour accéder à l'élément du tableau interne.
- L'exemple suivant renvoie les éléments du tableau etudiants:
console.log(etudiants[0][0]); // Mohamed console.log(etudiants[0][1]); // 9 console.log(etudiants[1][0]); // Salwa console.log(etudiants[1][1]); // 11Ajout d'éléments au tableau multidimensionnel JavaScript
- Vous pouvez utiliser les méthodes
Arraytelles quepush()etsplice()pour manipuler les éléments d'un tableau multidimensionnel. - Par exemple, pour ajouter un nouvel élément à la fin du tableau multidimensionnel, vous utilisez la méthode
push()comme suit:
etudiants.push(['Salem',12]);- Vous pouvez utiliser les méthodes
- Ce qui suit illustre la sortie aprés l'exécution de la commande
console.table(etudiants);: - Pour insérer un élément au milieu du tableau, vous utilisez la méthode
splice(). Ce qui suit insère un élément dans la deuxième position du tableau et un élément dans la cinquième position desetudiants: - Ce qui suit illustre la sortie après l'exécution de la commande
console.table(etudiants);: Construire un tableau multi-dimensionnel à partir d'autres tableaux
- On construit un tableau multi-dimensionnel en donnant à un tableau des éléments qui sont d'autres tableaux.
Créer un tableau à partir de deux autres
Méthode 01
var a = new Array( new Array(1, 2, 3), new Array(4, 5, 6)); document.write(a); //Résultat: 1,2,3,4,5,6
Méthode 02
var a = [ [ 1, 2, 3], [ 4, 5, 6] ]; document.write(a); //Résultat: 1,2,3,4,5,6
Méthode 03
a[0][0] = 1; a[0][1] = 2; a[0][2] = 3; a[1][0] = 4; a[1][1] = 5; a[1][2] = 6; document.write(a); //Résultat: 1,2,3,4,5,6- On peut aussi accéder aux éléments du tableau avec les indices en chaînes, par exemple:
Créer un tableau à partir de plusieurs autres
- Imaginons que nous voulons créer un tableau qui contient: "Le nom d'étudiant", "Notes matière 01" et "Notes matière 02". Il y'aura 5 étudiants en tout.
- Commençons d'aborder par déclarer trois tableaux élémentaires (à une dimension) pour chaque étudiant:
tab1=new Array("Étudiant 1",12,10); tab2=new Array("Étudiant 2",10,15); tab3=new Array("Étudiant 3",11,09); tab4=new Array("Étudiant 4",08,12); tab5=new Array("Étudiant 5",08,07);- Maintenant que les trois tableaux sont déclarés, nous allons déclarer le tableau principal qui regroupera toutes ces données:
tab=new Array(tab1,tab2,tab3,tab4,tab5);
- Pour afficher le tableau étudiants dans la console, vous utilisez la méthode suivante
console.table(etudiants): - Ce qui suit illustre la sortie:


etudiants.splice(1, 0, ['Tériza', 13]);
etudiants.splice(5, 0, ['Adir', 10]);

document.write(a[1][2]);
//Qui doit afficher 6;
