IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Exercice Tableau Javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 128
    Par défaut Exercice Tableau Javascript
    Bonjour,
    Je suis débutante en Javascript.
    Je me boque sur un exercice, déjà même dans la phase de conception, bon voilà l'énoncé de l'exercice:
    Créer un tableau qui contiendra des noms d'équipes tapés dans une fenêtre ou dans une zone de texte ainsi leur nombre de points dans le championnat. Ecrir une fonction de tri de ces tableaux par ordre décroissante des scores. Vous obtiendrez alors le classement de votre championnat.

    Si j'étais en C, j'allais créer drectement un tableau de structure.
    et comme Javascript est un langage Orienté Objet, alors structure = Classe.
    J'ai pensé d'abord à créer une classe "equipe" puis à chaque ajout d'une équipe j'instance un objet mais le problème c'est comment lier ces objet (le cas d'un tableau).

    Je serais très reconnaissante si quelqu'un pourriez m'aider .

  2. #2
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    var classement = [
        {equipe:"real",score:2},
        {equipe:"om",score:3},
        {equipe:"sg",score:1},
        {equipe:"montpellier",score:5}
    ];
     
    function tri(tableau){
    	tableau.sort(function(a,b){return b.score-a.score;});
    }
     
    function affiche(tableau){
    	for(var i=0;i<tableau.length;i++)
    		document.write(tableau[i].equipe,'|',tableau[i].score,'<br/>');
    }
     
    tri(classement);
    affiche(classement);

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 128
    Par défaut
    Merci pour la réponse!
    dites-mi s'il vous plait, est ce que classement joue le même rôle que "strucute" ?
    Là vous faites la saisie manuellement, alors que c'est l'utilisateur qui va entrer les donnée;
    pour lire un classement, je met classement.equipe ,c'est bien ça ?

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 128
    Par défaut
    et comment s'il vous plait identifier le ligne du classement => indice ?

  5. #5
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par hindou90 Voir le message
    et comment s'il vous plait identifier le ligne du classement => indice ?
    dans ce cas j'ai créé un tableau (Array) d'objets.

    un tableau en javascript se déclare :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [elem1,elem2,elem3,etc...]
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new Array(elem1,elem2,elem3,etc...);
    j'ai donc déclaré une variable que j'ai nommé "classement"

    var classement

    à laquelle j'ai assigné mon nouveau tableau.

    les éléments du tableau peuvent être (un peu prêt) n'importe quoi, du simple string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ["nom1","nom2","nom3"]
    ou des objects

    un objet javascript s'instancie soit via une instance d'une fonction(équivalent de classe) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function class1(){
      this.name = "lol";
    }
    var monObject = new ma_fonction();
    ou bien à l'aide des accolades avec le nom des attributs et leurs valeur comme suit : {attr1:value,attr2:value,etc...}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var monObject = {name:"lol"};
    les éléments de mon classements sont tous ici des objets contenant 2 attributs "equipe" et "score"

    pour lire le nième élément d'un tableau, il suffit de faire : tableau[n]

    dans notre cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    classement[0]; // renverra le premier élémént du tableau 
    // donc dans notre cas:  {equipe:"real",score:2} avant le tri 
    // et : {equipe:"montpellier",score:5} après le tri
    pour lire l'attribut d'un objet il suffit de faire : objet.attribut
    donc dans notre exemple après tri :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    classement[0].equipe; // renverra "montpellier" (notre première équipe)

    pour le saisi manuelle faut voir de quelle façon tu désires "entrer" les valeurs.

    par exemple on peut concevoir que classement est par défaut un tableau vide :

    et que dans ta page html, tu aies un formulaire qui rajoutera les équipes et leurs scores :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form id="ajouter">
      <input type="text" name="equipe" />
      <input type="text" name="score" />
      <input type="button" id="ajout" value="ajouter" />
    </form>

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ajouter(){
        classement.push({equipe:document.forms['ajouter'].elements['equipe'].value,score:document.forms['ajouter'].elements['score'].value});
    }
    document.forms['ajouter'].elements['ajout'].onclick = ajouter;


    en conclusion: si c'est un projet pour un cours, t'as intérêt à rudement bien étudier avant ton examen !

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 128
    Par défaut
    bonjour,

    je vous remercie beaucoup pour avoir pris le temps de répondre de cette façon détaillé.
    Alors je ne vois pas qur vous avez utilisé le mot clé "array", pourquoi ?
    s'il vous plait, où est ce que on définit les champs de notre tableau, dans l'objet c'est ça ?
    voilà mon essaie, qui ne donne rien lorsque je l'exécute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <html>
    	<script language="javasript">
    	cp=0;
    	function instance()
    	{
    		String equipe;
    		int score;	
    	}
    	var Tab_equipe[] = new instance();
    	function ajouter()
    	{
    	Tab_equipe={equipe:document.f1.equipe.value,equipe:document.f1.score.value}
    	cp++;	
    	}
     
     
    	</sript>	
    <form id="f1">
      		<input type="text" name="equipe" />
      		<input type="text" name="score" />
      		<input type="button" id="ajout" value="ajouter" onclick="ajouter"/>
    	</form>
    </html>
    Si j'ai bien compris votre derbièr code, push joue le même rôle que la fonction ajouter, c'est correct ?

    Concernant votre fonction "tri', pourquoi vous avez appelé "fonction(a,b)" et à quoi sert cette dernière ?
    en conclusion: si c'est un projet pour un cours, t'as intérêt à rudement bien étudier avant ton examen
    Oui absolument, car j'ai tout mélangé dans la tête
    Merci infiniment

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tableau javascript
    Par allstar dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/01/2006, 05h39
  2. tableau javascripte
    Par ridondo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/10/2005, 13h54
  3. Passage d'un tableau javascript en paramètres d'une URL
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 02/09/2005, 10h46
  4. [PHP-JS] Remplir un tableau javascript selon un tableau php
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2005, 14h02
  5. tableau javascript ecrit par une fonction asp
    Par LineLe dans le forum ASP
    Réponses: 4
    Dernier message: 03/11/2003, 08h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo