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.

Contents Haut

English translation

You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.

If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.

Thank you in advance.

Document created the 19/03/2002, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/javascript-array.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.