1. Les tables avec array :

Arrays est le nom anglais des champs de données ou, plus simplement, des tables.

Une variable quelconque ne peut être affectée que d’une valeur. En revanche, une table peut en contenir plusieurs. On parle des éléments d’une table, chacun étant doté d’une valeur propre.

Les éléments individuels se comportent chacune comme une variable. Au lieu de définir 10 variables distinctes, nous pouvons réaliser le même travail avec une seule table de 10 éléments.

Les tables présentent un avantage intéressant : leurs éléments individuels sont numérotés. Ainsi dans une boucle, un compteur peut se charger d’en parcourir successivement tous les éléments.

Avec des variables conventionnelles, de telles opérations ne sont pas possibles .

  1. L’orientation objet avec new array :

Une nouvelle table peut être crée avec new et le constructeur Array(). L’expression entre parenthèses spécifie le nombre d’éléments formant la table. Trois possibilités s’offrent à vous :

Avec le constructeur Array sans argument, la table crée sera vide. Grâce à des méthodes spéciales, elle pourra être peuplé ultérieurement.

Pour créer une table doté de n éléments, il suffit d’indiquer ce nombre comme argument unique.

Les éléments sont affectés dans ce cas de la valeur undefined, au départ.

En stipulant plusieurs arguments, chacun est affecté à un élément de la table, qui contient autant d’entrées :

  1. Les tables avec des méthodes :
  2. Il existe différentes méthodes facilitant le travail avec des tables.

    Voici le tableau récapitulatif :

    Les méthodes de modification des tables :

    Méthode

    Description

    join

    Livre la table sous forme de chaînes de caractères

    concat

    Cocatène deux tables

    Push

    Ajoute un élément à la fin de la table

    pop

    Supprimer le dernier élément et le livre en retour

    shift

    Supprime le premier élément et livre en retour

    unshift

    Ajoute un élément au début de la table

    Reverse

    Inverse la table

    Sort

    Trie les éléments de la table

  3. Exemple :

<script language="JavaScript"><!--

 

/*

* Ce JavaScript dispose d'une petite base de données et de fonctions

* permettant de travailler avec cette base.

*

* La base de données contient la liste des CD audio.

* Elle peut bien évidemment être étendue.

*/

 

// En HTML, chaque ligne est terminée par <br>.

// print(); se charge de ce travail

function print(msg)

{

document.write(msg+'<br>');

return true;

}

 

 

// -----------------------------------------------------------------

// Ici commence la base de données.

var cd = new Array();

cd[0] = new Array();

cd[0]["interprete"] = "Mon interprete favori";

cd[0]["album"] = "Greatest Hits";

cd[0][1] = ["Mon interprete favori","Son premier succes","03:17"]

cd[0][2] = ["Mon interprete favori","Son deuxième succes","03:21"]

cd[0][3] = ["Mon interprete favori","Son troisième succes","04:31"]

cd[0][4] = ["Mon interprete favori","Son quatrième succes","05:07"]

cd[1] = new Array();

cd[1]["interprete"] = "Divers";

cd[1]["album"] = "Mon premier CD audio gravé personnellement";

cd[1][1] = ["Un groupe quelconque"," Un succes quelconque ","03:08"]

cd[1][2] = ["Un groupe francais","Un autre succes","03:54"]

cd[1][3] = ["Une vedette americaine","Encore un succes","04:27"]

 

// -----------------------------------------------------------------

// Voici les fonctions qui balayent la base de données.

// Répertorie tous les CD

// Syntaxe : list();

function list()

{

for(var i = 0; i < cd.length; i++)

{

print("<b>CD " + i + " - " + cd[i]["interprete"] + ": "

+ cd[i]["album"] + "</b>");

}

print("");

}

// Répertorie tous les CD et en affiche le contenu

// Syntaxe : listall();

function listall()

{

for(var i = 0; i < cd.length; i++)

{

print("<b>CD " + i + " - " + cd[i]["interprete"] + ": "

+ cd[i]["album"] + "</b>");

for(var j = 1; j < cd[i].length; j++)

{

print(j + ": [" + cd[i][j][2] + "] " + cd[i][j][0] + ": "

+ cd[i][j][1]);

}

print("");

}

}

// Affiche le contenu d un CD

// Syntaxe : show(Numero);

function show(n)

{

print("<b>CD " + n + " - " + cd[n]["interprete"] + ": "

+ cd[n]["album"] + "</b>");

for(var j = 1; j < cd[n].length; j++)

{

print(j + ": [" + cd[n][j][2] + "] " + cd[n][j][0] + ": "

+ cd[n][j][1]);

}

print("");

}

// parcourt tous les CD

// Syntaxe : search(Interprete, Titre, longueur du titre);

function search(artist,songname,length)

{

for(var i = 0; i < cd.length; i++)

{

for(var j = 1; j < cd[i].length; j++)

{

if((cd[i][j][0] == artist)

||(cd[i][j][1] == songname)

||(cd[i][j][2] == length))

{

print("<b>CD " + i + " - " + cd[i]["interprete"] + ": "

+ cd[i]["album"] + "</b>");

print(j + ": [" + cd[i][j][2] + "] " + cd[i][j][0] + ": "

+ cd[i][j][1]);

}

}

}

print("");

}

 

// -----------------------------------------------------------------

// Ici commence le programme effectif

 

list();

//listall();

show(0);

search("","Son deuxième succes","");

 

//--></script>

Retour au sommaire