Tableaux en JavaScript

Vous pouvez aussi consulter les autres pages sur les tableaux en programmation.

Un tableau ressemble à une succession de cases formant une ligne ou une colonne, chaque case pouvant contenir une et une seule donnée à la fois.

Afin d'accéder à ces données, les cases sont numérotées, la première portant l'index zéro. Nous obtenons donc le nombre de données pouvant être contenues dans un tableau en incrémentant d'une unité l'index le plus grand du tableau (c'est la propriété length du tableau).

Un tableau peut lui-même contenir plusieurs tableaux, le nombre de tableaux imbriqués étant appelé la dimension du tableau.

Attention: En JavaScript, une énorme différence avec d'autres langages réside dans le fait qu'un tableau n'est pas limité à un type de données. En effet, dans un tableau en JavaScript, des variables numériques peuvent côtoyer des chaînes de caractère et même des objets.

Définition du tableau

Les tableaux sont des objets, mais qui appartiennent au noyau du langage JavaScript, et non au modèle objet de document. Une fonction existe donc, Array (), qui permet de créer ces tableaux. Cette fonction admet comme paramètre facultatif le nombre de cases du tableau (une valeur de 1 à X à insérer entre les parenthèses qui suivent le nom Array). Un mot clé (new) précédant la fonction Array permet la création d'un espace mémoire alloué au tableau.

  1. nom_variable = new Array (Nbre)

De plus, nous pouvons remarquer que l'objet tableau est utilisé en tant que variable.

Affectation de valeurs

  1. var jour = new Array (7);
  2.     jour [0] = "lundi";
  3.     jour [1] = "mardi";
  4.     jour [2] = "mercredi";
  5.     jour [3] = "jeudi";
  6.     jour [4] = "vendredi";
  7.     jour [5] = "samedi";
  8.     jour [6] = "dimanche";

Le nom du tableau suivi de l'index entre crochets permet d'affecter une valeur à la case correspondante. Le tableau est maintenant construit et prêt à l'emploi.

La manipulation suivante est donc possible:

  1. alert ("Le " + jour[0] + ", les canards vont à la mare.");
  2. alert ("Le " + jour[1] + ", les canards vont à la mer.");
  3. alert ("Le " + jour[2] + ", les canards organisent un grand jeu.");

Tableaux parallèles

Reprenons notre tableau jour, et créons un deuxième tableau dag.

  1. var dag = new Array (7);
  2.     dag [0] = "mandag";
  3.     dag [1] = "dinsdag";
  4.     dag [2] = "woensdag";
  5.     dag [3] = "donderdag";
  6.     dag [4] = "vrijdag";
  7.     dag [5] = "somsdag";
  8.     dag [6] = "zondag";

Si nous demandons la valeur stockée à l'index 0 de chaque tableau, nous trouvons lundi et mandag. Etant donné la corrélation entre les deux tableaux, pourquoi ne pas en tirer profit?

  1. function traduct (){
  2.     var jour = new Array (7);
  3.         jour [0] = "lundi"
  4.         jour [1] = "mardi"
  5.         jour [2] = "mercredi"
  6.         jour [3] = "jeudi"
  7.         jour [4] = "vendredi"
  8.         jour [5] = "samedi"
  9.         jour [6] = "dimanche"
  10.     var dag = new Array (7)
  11.         dag [0] = "mandag"
  12.         dag [1] = "dinsdag"
  13.         dag [2] = "woensdag"
  14.         dag [3] = "donderdag"
  15.         dag [4] = "vrijdag"
  16.         dag [5] = "somsdag"
  17.         dag [6] = "zondag"
  18.     var selection = document.entryForm.entry.value
  19.     for (var k = 0; k < jour.length; k++){
  20.         if (jour[k] == selection){
  21.             break
  22.         }
  23.     }
  24.      alert ("Se traduit par: " + dag[k] + ".")
  25. }

Cette fonction pourrait permettre, après que l'utilisateur ait introduit dans un formulaire le jour de la semaine en français, d'afficher une boîte d'alerte avec la correspondance en néerlandais.

Ceci est un exemple trouvé dans le livre que je viens d'acheter pour apprendre le langage. Pour ma part il présente les problèmes suivants:
  • Chaque instruction devrait se terminer par le point-virgule.
  • Les tableaux sont ici initialisés à chaque appel de la fonction.

Table des matières Haut

Document créé le 19/03/2002, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/javascript-array.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.