Les tableaux

Les variables simples nous permettent de stocker une valeur, peu importe son type, parmi ceux disponibles. C'est très pratique, mais il faut admettre que cela ne résout pas la totalité des cas que nous pourrions avoir. Admettons que nous voulions stocker une grande quantité de valeur, il serait contre-productif de créer une grande quantité de variables.

Nous voici donc devant un problème, mais pas d'inquiétude, nous avons des solutions. L'une d'entre elles est la création de tableaux. Les tableaux sont justement faits pour stocker de grandes quantités de valeurs.

Déclarer un tableau se fait de la même manière que déclarée une variable simple. Il est nécessaire de choisir entre “let” et “const” (potentiellement “var”), et de lui choisir un nom. C'est ensuite dans la notation des valeurs que nous allons voir une différence.

Une permière notation:

const multipleDeDeux = [2,4,6,8];

Les tableaux sont définis, dans cette notation, entre crochets. Chaque valeur est séparée par une virgule. Chaque “cellule” de notre tableau peut contenir tous les types de valeurs disponibles, même un autre tableau. Une autre notation:

const multipleDeDeux = new Array(2,4,6,8);

La déclaration est quelque peu différente, mais le résultat est équivalent. Mais alors, pourquoi privilégier une notation plutôt que l'autre? Et bien, la particularité de la seconde est qu'elle est plus intéressante lors de la création de grands tableaux vide. Dans le premier exemple, vous devrez rentrer les cellules à la main, dans la seconde approche il vous suffira de donner comme paramètre à votre tableau la taille de celui-ci.

Par exemple:

const grandTableau = [256];  // Crée un tableau avec 1 cellule qui comporte le chiffre 256.
const grandTableau = new Array(256);  // Crée un tableau avec 256 cellules vides.

Maintenant que nous avons nos tableaux, il est nécessaire de pouvoir avoir accès aux données stockées à l'intérieur. Cette notation est relativement simple et est facile à comprendre. Peut importe la manière dont votre tableau a été déclaré, atteindre une valeur et se faire de la manière suivante:

multipleDeDeux[cellule (chiffre)];

De cette manière, nous pourrons, par exemple, appeler la valeur stockée dans une cellule spécifique de notre tableau. En pratique:

console.log(multipleDeDeux[1]); // Affiche 4 dans la console.

Pourquoi “4? Et bien parce que le compte des cellules d'un tableau commence n'ont pas à 1 mais bien à zéro. Si vous voulez atteindre la première cellule d'un tableau, il faudra donc introduire un “0” entre crochet après le nom de celui-ci (multipleDeDeux[0]).

Il nous est, à tout moment, possible de réassigner une valeur présente dans une case de notre tableau, ainsi que d'ajouter ou supprimer des cases à notre tableau:

  • tableau[0] = 1;
    Remplace la valeur de la première case de mon tableau par le chiffre 1;
  • tableau.push("dix");
    Rajoute une case à la fin de mon tableau et stocke la chaine de caractère “dix” à l'intérieur.
  • tableau.unshift(true);
    Rajoute la valeur booléenne “true” au début de mon tableau. Toutes les cases de mon tableau subissent la modification se décalant de 1 (La case 0 devient la 1, la case 1 devient la 2, etc.).
  • tableau.pop();
    Supprime la dernière case d'un tableau.
  • tableau.shift();
    Supprime la première case d'un tableau (la case 1 devient la case 0, la case 2 devient la case 1, etc.).

D'autres méthodes sont disponibles et nous donne d'autres informations sur notre tableau, ainsi que sont contenu:

  • tableau.indexOf(3);
    Nous renvoi la position ou se trouve notre chiffre dans notre tableau. Si notre tableau n'a pas la valeur recherchée, cette méthode nous renvoie “-1”.
  • tableau.include("Michel");
    Cette méthode nous renvoie une valeur booléenne (true ou false) selon si l'argument est présent dans notre tableau ou non. Attention néanmoins à garder en tête que cette méthode fonctionne en comparant les valeurs de manière strictement équivalentes (===).
  • tableau.lenght;
    Cette méthode nous donne la taille de notre tableau. Dans notre exemple précédent, multipleDeDeux.length est égal à 4, car nous avons 4 valeurs stockées dans notre tableau. Attention donc lorsque vous utilisez cette méthode pour extraire des cellules de votre tableau. Pour reprendre ce dernier exemple, la dernière case du tableau est multipleDeDeux[3] et sa taille est 4. Il n'est donc pas possible de faire multipleDeDeux[multipleDeDeux.lenght].

Un dernier concept intéressant, mais qui peut être déroutant est le fait qu'il nous est possible de modifier un tableau, et ce, même si la variable dans laquelle il est stocké est une constante (“const”). Il est donc toujours possible d'ajouter, supprimer ou modifier des cellules ou valeurs dans ces cellules. Par contre, changer le tableau en un autre tableau (réassigner l'ensemble en une fois) ou pour une autre valeur (par exemple morpher en chiffre ou chaine de caractère) reste impossible.

Les tableaux sont dons très pratiques pour le stockage d'une grande quantité de données. Il est néanmoins préférable d'y stocker des valeurs qui sont dites "structurées". Ce qu'on entend par là c'est qu'il vous est possible, en grande partie, de pouvoir les utiliser sans plus d'informations. Cela peut être le cas pour un ensemble de notes, de valeurs spécifiques ou fait sens ensemble..

arrow-up-circle