|
Les bases de la programmation - Partie 2
|
|
par sky
, le Jeudi 02 septembre 2004 |
|
|
2. Utilisation des listes. 2.1 L'initialisation et la lecture des éléments d'une liste. Les listes sont très utilisées en programmation, elles permettent de stocker plusieurs valeurs liées dans une seule variable. Ces listes sont appelées "array" en anglais. Pour initialiser une liste il y a plusieurs possibilités, la manière la plus simple :
|
// initialisation d une liste vide
var liste = [ ];
// initialisation d une liste avec 4 elements
var liste2 = [ 1, 2, 3, 4 ];
// on affiche la seconde liste
alert ( liste2 );
|
|
Il est possible aussi d'initialiser une liste de manière objet, qui serait normalement la manière standard.
|
//initialisation
var liste = new Array();
var liste2 = new Array(1,2,3,4);
// on affiche la seconde liste
alert ( liste2 );
|
L'intérêt des listes donc, est de pouvoir stocker plusieurs valeurs, il est bien souvent plus pratique de récupérer les valeurs indépendamment les unes des autres. Lorsque l'on crée une liste la première valeur est à l'index 0 dans la liste. Pour récupérer une seule valeur :
|
// initialisation d une variable qui contient quelques valeurs
var liste = [ 1, 2, 3, 4, 5 ];
// on affiche la premiere valeur
alert ( liste[0] );
// on affiche la troisieme
alert ( liste[2] );
// on affiche une valeur qui n existe pas
// vous obtiendrez une erreur javascript
alert ( liste[6] );
|
|
2.2 Les opérations Comme on peut lire les valeurs de manière indépendante, on peut aussi attribuer ou modifier des valeurs.
|
// initialisation
var list = [ 1, 2, 3, 4, 5];
// modification d une valeur
list[ 1 ] = list[ 1 ] + 4;
// afficher la nouvelle valeur
alert ( 'La nouvelle valeur de l element 1 est ' + list[1] + '.' );
// modification de la meme maniere d une autre valeur
list[ 2 ] += -5;
alert ( 'La nouvelle valeur de l element 2 est ' + list[2] + '.' );
// une autre modification incluant deux valeurs de la liste:
// on fait la multiplication des 2 dernieres valeurs qui est conservee dans l element 3
list[ 3 ] *= list[ 4 ] ;
alert ( 'La nouvelle valeur de l element 3 est ' + list[3] + '.' );
// on ajoute une valeur pour un nouvel element
list[ 12 ] = 6;
alert ( 'Le nouvel element est bien cree et a comme valeur : ' + list[ 12 ] + '.' );
// la liste possede maintenant 13 elements
// avec des indexs allant de 0 a 12
// aucune valeur n a ete attribuee pour les indexs 6 a 11
// on affiche la liste au complet :
alert ( 'La liste a maintenant comme valeur : [' + list + '].');
|
|
Vous pouvez voir tout les élements vides de la liste lorsque l'on crée un nouvel élement dont l'index est éloigné des élements existants.
Ceci est encore un exemple de la permissivité du javascript, on peut jouer avec les listes très librement.
On peut commencer à voir avec les listes des utilisations pratiques de la programmation, même si cela reste simple, il manquera un coté fonctionnel que l'on vera par la suite. Mettons nous dans le contexte suivant : Quatre joueurs qui veulent garder leurs scores avec un petit programme. On utilisera une liste pour stocker les scores, chaque joueur ayant un élément de la liste.
|
// fonction qui met a jour un des scores
function majScores ( scores, joueur, point ) { // mise a jour de la liste scores a la position du joueur
scores [ joueur ] += point;
// renvoie la liste mise a jour
return scores;
}
// fonction qui affiche les scores
function afficheScores ( scores ) { // j affiche le score du joueur pierre
alert ( 'Le score de Pierre est : ' + scores[pierre] + '.' );
// j affiche le score du joueur Jean
alert ( 'Le score de Jean est : ' + scores[pierre] + '.' )
// j affiche le score du joueur Marie
alert ( 'Le score de Marie est : ' + scores[marie] + '.' )
// j affiche le score du joueur Julie
alert ( 'Le score de Julie est : ' + scores[julie] + '.' )
}
/*
initialisation d un index des joueurs on utilise leurs noms comme noms de variables pour plus de facilites la valeurs de ces variables ne changeront pas, on met donc des variables globales
*/
pierre = 0;
jean = 1;
marie = 2;
julie = 3;
// initialisation de la liste des scores
var scores = [ 0, 0, 0, 0 ];
//les traitements
// jean marque 1 point
majScores ( scores, jean, 1 );
// julie marque 3 points
majScores ( scores, julie, 3 );
// marie marque 2 points
majScores ( scores, marie, 2 );
// jean marque de nouveau des points
majScores ( scores, jean, 4 );
// affichage des scores a la fin
afficheScores ( scores );
|
|
Les chaînes prennent le pas sur les listes, ainsi une chaîne additionnée à une liste, reste une chaîne et une liste additionnée à une chaîne devient une chaîne. Cette possibilité, vous l'avez en fait déjà vu lors de l'affichage d'une liste :
|
// initialisation
var list = [ 1, 2, 3, 4, 5];
// on affiche la liste
alert ( 'La liste a maintenant comme valeur : [' + list + '].');
|
L'alerte concatène tout ce qu'on lui passe en paramètre pour en faire une chaîne complète.
Voyons ici un exemple original :
|
// initialisation
var list = ['un message de bienvenue', ' bonjour comment ca va?'];
var message = 'Ceci est ' + list;
// affichage du message
alert ( message );
|
|