Accueil Accueil     Membres Membres     Forum Forum     Articles Articles     Download Download     Sondages Sondages     Outils Outils     Scriptland Scriptland     ProgBoards ProgBoards     FR  
  Morbleu ! Morbleu ! Christine Boutin
Cours de programmation, code source, aide au développement, forums d'entraide - CybWarrior

login Bug Contact RSS
login bug contact RSS


| Internet |
   Créer son site web

| Langages |
   HTML
   JavaScript
   Langage C
   PHP
   QBasic
   Turbo Pascal

| Programmation |
   Algorithmie
   Maths appliquées
   Windows

| Trucs & astuces |
   Lexique
   Oeufs de Pâques (easter eggs)
   Registre et Windows

| Téléchargements |
   Flash
   Freeware
   JavaScript
   NASM
   PHP
   QBasic
   Turbo Pascal
   Visual Basic / VBScript

JavaScript - Les tableaux

Autre langage disponible pour cet article : FR
Rubrique : JavaScript
lundi 25 mars 2002 18:40

Voir les commentaires pour JavaScript - Les tableaux
Autres articles :
- JavaScript - Introduction au JavaScript
- JavaScript - Inclusion dans une page
- JavaScript - Un langage orienté objet
- JavaScript - Les commentaires
- JavaScript - Ecrire dans le document
- JavaScript - Les variables
- JavaScript - Opérateurs
- JavaScript - La structure conditionnelle
- JavaScript - Les cas
- JavaScript - Les boucles
- JavaScript - Les tableaux
- JavaScript - Les fonctions
- JavaScript - Les objets
- JavaScript - L'objet String
- JavaScript - L'objet Number
- JavaScript - L'objet Math
- JavaScript - L'objet Date
- JavaScript - Les expressions régulières
- JavaScript - L'objet navigator
<< - >>

  1. Propriétés
    1. length
  2. Méthodes
    1. concat()
    2. join()
    3. reverse()
    4. slice()
    5. sort()
  3. Tableau multi-dimensionnels
  4. Tableaux associatifs
Les tableaux permettent de stocker facilement des données et de pouvoir y accéder par la suite.
Une variable ne peut contenir qu'une seule et unique valeur. Un tableau peut en contenir infiniment.
JavaScript étant orienté objet, les tableaux ne font pas exception : ce sont des objets avec leurs propriétés et leurs méthodes.
Pour créer un objet, on utilise la syntaxe suivante :
var indentificateur = new constructeur(argument1, argument2, ...);
L'identificateur doit être un identificateur valide, qui doit suivre les même rêgles que pour les noms de variables.
Le constructeur doit être une fonction constructeur valide (nous étudierons plus en détails par la suite). Ici, le constructeur est Array (avec un A majuscule).
Viennent ensuite les arguments. Il peut y en avoir ou pas.
Donc, pour créer un tableau que nous appelerons livres, nous écrirons :
var livres = new Array();// ne pas oublier les parenthèses vides
En peut ensuite accéder aux éléments de ce tableau en spécifiant l'index de l'élement conserné entre crochets ([ et ]). Ansi :
var livres = new Array();

livres[0] = "Critias";
livres[1] = "Pensées";
livres[2] = "Odyssée";

document.write("1<sup>er</sup> livre : " + livres[0] + "<br>");// Critias
document.write("2<sup>eme</sup> livre : " + livres[1] + "<br>");// Pensées
document.write("3<sup>eme</sup> livre : " + livres[2] + "<br>");// Odyssée
Une seconde possibilité de créer un tableau est d'utiliser la manière littérale. On passe en arguments, au moment de la création du tableau, les différents élements.
L'exemple suivant est donc équivalent au précedent :
var livres = new Array("Critias", "Pensées", "Odyssée");

document.write("1<sup>er</sup> livre : " + livres[0] + "<br>");// Critias
document.write("2<sup>eme</sup> livre : " + livres[1] + "<br>");// Pensées
document.write("3<sup>eme</sup> livre : " + livres[2] + "<br>");// Odyssée
Ou on peut aussi écrire sous une autre forme, sans utiliser Array, avec des crochets :
var livres = ["Critias", "Pensées", "Odyssée"];

document.write("1<sup>er</sup> livre : " + livres[0] + "<br>");// Critias
document.write("2<sup>eme</sup> livre : " + livres[1] + "<br>");// Pensées
document.write("3<sup>eme</sup> livre : " + livres[2] + "<br>");// Odyssée
Une dernière possibilité de créer un tableau est de passer en argument la longeur de celui-ci.
Exemple :
var MonTableau = new Array(10);// 10 élements

// Voir plus loin pour la propriété length
document.write(MonTableau.length);// Sortie -> 10

Propriétés

Comme tout objet, Array à également des propriétés. En fait, Array n'en a qu'une seule :
length
Renvoi le nombre d'élements contenus dans la table. Par exemple :
var livres = new Array("Critias", "Pensées", "Odyssée");

document.write(livres.length);// Sortie -> 3
Cette propriété est utile pour parcourir un tableau à l'aide d'une boucle :
var livres = new Array("Critias", "Pensées", "Odyssée");

for(var i=0; i < livres.length; i++)
document.write("Livre N°" + i + " : " + livres[i] + "<br>");

Méthodes

concat()
Permet de faire de deux tableaux un seul. La table à ajouter doit être passée en argument :
var MesLivres = new Array("Critias", "Pensées", "Odyssée");
var TesLivres = new Array("Voyage en Italie", "Le crépuscule des Idoles");

MesLivres.concat(TesLivres);// On ajoute le tableau TesLivres
join()
Créer une chaîne de caractères avec les élements du tableau. Les élements sont séparés avec la chaîne de caractères passée en argument qui reste optionelle.
Exemple :
var livres = new Array("Critias", "Pensées", "Odyssée");
var Texte = livres.join("<br>");

document.write(Texte);
reverse()
Inverse l'ordre des élements du tableau. Le 1er devient le dernier, le 2ème l'avant dernier, etc...
var livres = new Array("Critias", "Pensées", "Odyssée");
livres.reverse();

for(var i=0; i < livres.length; i++)
document.write(livres[i] + "<br>");
slice()
Renvoi un tableau contenant une partie du tableau. Le 1er argument correspond à l'index de départ. Le 2ème argument est optionnel. Il correspond à l'index de fin. Si il est omis, tous les index jusqu'à la fin du tableau seront renvoyés.
var liste = new Array("un", "deux", "trois", "quatre", "cinq");
var maliste = liste.slice(1, 4);

for(var i=0; i < maliste.length; i++)
document.write(maliste[i] + "<br>");
sort()
Permet de trier un tableau selon les valeurs des élements de celui ci. Si aucun argument n'est transmis, le tableau est trié par ordre alphabétique.
L'argument possible est une fonction de tri (les fonctions seront étudiées plus loin). Cette fonction doit recevoir 2 arguments et livrer en retour une valeur négative si le 1er argument doit être placé avant le 2ème, ou positive pour l'inverse.
var liste = new Array("un", "deux", "trois", "quatre", "cinq");
liste.sort();

for(var i=0; i < liste.length; i++)
document.write(liste[i] + "<br>");

Tableau multi-dimensionnels

Pour créer un tableau ayant plusieurs dimensions. Il suffit de créer un objet Array pour chaque rangées de ce tableau :
var Tableau = new Array(10);

for(var i=0; i < Tableau.length; i++)
Tableau[i]=new Array(10);

// On accéde ainsi aux éléments de ce tableau à deux dimensions :
Tableau[5][5] = "Je suis quasi-au milieu de ce tableau";
Partant de ce principe, on peut utiliser autant de dimensions que l'on veut.

Tableaux associatifs

La différence entre un tableau associatif et un tableau classique, c'est qu'un tableau associatif n'utilise pas la méthode numérique pour indexer les différents élements, mais des noms.
Dans un tableau classique, on accéde par exemple ainsi à un élement :
var MonTableau = new Array();

MonTableau[0] = "Goldorak";// On accéde à l'élement 0

document.write(MonTableau[0]);// Sortie -> Goldorak
Avec un tableau associatif, on y accedera ainsi :
var MonTableau = new Array();

MonTableau["nom"] = "Goldorak";// On accéde à l'élement "nom"

document.write(MonTableau["nom"]);// Sortie -> Goldorak
C'est tableau sont dans certains cas plus commodes a utiliser.
Pour parcourir un tableau de ce type à l'aide d'une boucle, il faut utiliser la boucle for...in :
var Vainqueurs = new Array();

// Critérium du Dauphiné 4-11 juin 2000
Vainqueurs["Grenoble- La Bastille (prologue)"] = "Alberto Lopez de Munain";
Vainqueurs["Grenoble - Lyon"] = "Frédéric Guesdon";
Vainqueurs["Châtillon sur Chalaronne - Saint Etienne"] = "Fabrice Gougot";
Vainqueurs["Saint Etienne - Saint Etienne (contre la montre)"] = "Lance Armstrong";
Vainqueurs["Romans - Le mont Ventoux"] = "Tyler Hamilton";
Vainqueurs["Beaumes de Venise - Dignes les Bains"] = "Tyler Hamilton";
Vainqueurs["Digne les Bains - Briançon"] = "Inigo Cuesta";
Vainqueurs["Saint Jean de Maurienne - Salanches"] = "Laurent Jalabet";

for(Etape in Vainqueurs)
document.write(Etape + " : " + Vainqueurs[Etape] + "<br>");


Voir les commentaires pour JavaScript - Les tableaux
 06 juillet 2008 | Version 4.0.0 | © 2001 - 2007